mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
21800 lines
1.1 MiB
Plaintext
21800 lines
1.1 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_020930AC @ 0x20930ac
|
|
void Gambit_fn_020930AC(CPUState* cpu) {
|
|
L_020930AC: ; // 0x20930ac
|
|
/* 020930AC */ cpu->r[3] = 0x00000000u;
|
|
/* 020930B0 */ return;
|
|
}
|
|
|
|
// fn_020930B4 @ 0x20930b4
|
|
void Gambit_fn_020930B4(CPUState* cpu) {
|
|
L_020930B4: ; // 0x20930b4
|
|
/* 020930B4 */ cpu->r[3] = 0x10010000u;
|
|
/* 020930B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFE6C0u;
|
|
/* 020930BC */ return;
|
|
}
|
|
|
|
// fn_020930C0 @ 0x20930c0
|
|
void Gambit_fn_020930C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020930C0: ; // 0x20930c0
|
|
/* 020930C0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 020930C4 */ _t0 = cpu->r[12] + 0xFFFFEE38u;
|
|
/* 020930C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020930C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 020930CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 020930D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEE3Cu;
|
|
/* 020930D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020930D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 020930D4 */ if (_t2) goto L_020930D8; else goto L_020930F0;
|
|
L_020930D8: ; // 0x20930d8
|
|
/* 020930D8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020930DC */ cpu->r[9] = 0x00000001u;
|
|
/* 020930E0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 020930E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE6A0u;
|
|
/* 020930E8 */ _t3 = cpu->r[8] + 0xFFFFEE38u;
|
|
/* 020930E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 020930EC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 020930EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_020930F0: ; // 0x20930f0
|
|
/* 020930F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 020930F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020930F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020930F4 */ if (_t6) goto L_020930F8; else goto L_02093100;
|
|
L_020930F8: ; // 0x20930f8
|
|
/* 020930F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 020930FC */ return;
|
|
L_02093100: ; // 0x2093100
|
|
/* 02093100 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02093104 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 02093104 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02093104 */ cpu->r[11] = _t7;
|
|
/* 02093108 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0209310C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02093110 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02093114 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093114 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02093114 */ if (_t9) goto L_02093118; else goto L_0209312C;
|
|
L_02093118: ; // 0x2093118
|
|
/* 02093118 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209311C */ cpu->r[9] = 0x00000001u;
|
|
/* 02093120 */ cpu->r[12] = cpu->r[12] + 0xFFFFE690u;
|
|
/* 02093124 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02093124 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02093128 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02093128 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0209312C: ; // 0x209312c
|
|
/* 0209312C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02093130 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093130 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02093130 */ if (_t13) goto L_02093134; else goto L_0209313C;
|
|
L_02093134: ; // 0x2093134
|
|
/* 02093134 */ cpu->r[0] = 0x00000001u;
|
|
/* 02093138 */ goto L_02093174;
|
|
L_0209313C: ; // 0x209313c
|
|
/* 0209313C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02093140 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02093140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02093140 */ cpu->r[8] = _t14;
|
|
/* 02093144 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02093148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209314C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02093150 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093150 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02093150 */ if (_t16) goto L_02093154; else goto L_02093168;
|
|
L_02093154: ; // 0x2093154
|
|
/* 02093154 */ cpu->r[10] = 0x10010000u;
|
|
/* 02093158 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209315C */ cpu->r[10] = cpu->r[10] + 0xFFFFE668u;
|
|
/* 02093160 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02093160 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02093164 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02093164 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02093168: ; // 0x2093168
|
|
/* 02093168 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209316C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02093170 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02093174: ; // 0x2093174
|
|
/* 02093174 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02093178 */ return;
|
|
}
|
|
|
|
// fn_0209317C @ 0x209317c
|
|
void Gambit_fn_0209317C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209317C: ; // 0x209317c
|
|
/* 0209317C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02093180 */ goto L_020964E8;
|
|
L_020964E8: ; // 0x20964e8
|
|
/* 020964E8 */ cpu->r[0] = cpu->lr;
|
|
/* 020964EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020964EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020964EC */ cpu->r[1] = _t0;
|
|
/* 020964F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020964F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020964F4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020964F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020964F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020964F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020964FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02096500 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02096500 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02096504 */ if (_t5) goto L_02096548; else goto L_02096508;
|
|
L_02096508: ; // 0x2096508
|
|
/* 02096508 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209650C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096510 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF3Cu;
|
|
/* 02096514 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF2Cu;
|
|
/* 02096518 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209651C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209651C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02096520 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096524 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02096524 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02096528 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 0209652C */ cpu->r[4] = 0x00000000u;
|
|
/* 02096530 */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 02096530 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096534 */ Gambit_fn_02068798(cpu);
|
|
/* 02096538 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02096538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209653C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209653C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209653C */ if (_t10) goto L_02096548; else goto L_02096540;
|
|
L_02096540: ; // 0x2096540
|
|
/* 02096540 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096544 */ Gambit_fn_02801BB0(cpu);
|
|
L_02096548: ; // 0x2096548
|
|
/* 02096548 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02096548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209654C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209654C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096550 */ cpu->lr = cpu->r[0];
|
|
/* 02096554 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096558 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209655C */ return;
|
|
}
|
|
|
|
// fn_02093184 @ 0x2093184
|
|
void Gambit_fn_02093184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02093184: ; // 0x2093184
|
|
/* 02093184 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02093188 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209318C @ 0x209318c
|
|
void Gambit_fn_0209318C(CPUState* cpu) {
|
|
L_0209318C: ; // 0x209318c
|
|
/* 0209318C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02093190 */ goto L_02096560;
|
|
L_02096560: ; // 0x2096560
|
|
/* 02096560 */ return;
|
|
}
|
|
|
|
// fn_02093194 @ 0x2093194
|
|
void Gambit_fn_02093194(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02093194: ; // 0x2093194
|
|
/* 02093194 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02093198 */ goto L_02096564;
|
|
L_02096564: ; // 0x2096564
|
|
/* 02096564 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02096564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02096568 */ return;
|
|
}
|
|
|
|
// fn_0209319C @ 0x209319c
|
|
void Gambit_fn_0209319C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_0209319C: ; // 0x209319c
|
|
/* 0209319C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0209319C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209319C */ cpu->r[1] = _t0;
|
|
/* 020931A0 */ /* nop */
|
|
/* 020931A4 */ cpu->r[0] = cpu->lr;
|
|
/* 020931A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020931A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020931AC */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 020931AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020931B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020931B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020931B0 */ if (_t3) goto L_020931B4; else goto L_020931C4;
|
|
L_020931B4: ; // 0x20931b4
|
|
/* 020931B4 */ cpu->r[3] = 0x00000268u;
|
|
/* 020931B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 020931BC */ cpu->r[30] = cpu->r[3];
|
|
/* 020931BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020931C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020931C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020931C0 */ if (_t5) goto L_02094300; else goto L_020931C4;
|
|
L_020931C4: ; // 0x20931c4
|
|
/* 020931C4 */ cpu->r[27] = 0x10010000u;
|
|
/* 020931C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020931CC */ cpu->r[8] = 0x10010000u;
|
|
/* 020931D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFE99Cu;
|
|
/* 020931D4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020931D8 */ cpu->r[8] = cpu->r[8] + 0xFFFFEA80u;
|
|
/* 020931DC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 020931DC */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 020931E0 */ cpu->r[5] = 0x00000003u;
|
|
/* 020931E4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020931E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 020931E8 */ Gambit_fn_02068860(cpu);
|
|
/* 020931EC */ cpu->r[9] = 0x10010000u;
|
|
/* 020931F0 */ cpu->r[10] = 0x10010000u;
|
|
/* 020931F4 */ cpu->r[9] = cpu->r[9] + 0xFFFFEDCCu;
|
|
/* 020931F8 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF2Cu;
|
|
/* 020931FC */ cpu->r[11] = 0x10010000u;
|
|
/* 02093200 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02093200 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02093204 */ cpu->r[0] = 0x10010000u;
|
|
/* 02093208 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF3Cu;
|
|
/* 0209320C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209320C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02093210 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 02093214 */ cpu->r[28] = cpu->r[30] + 0x000001DCu;
|
|
/* 02093214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02093218 */ _t10 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02093218 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209321C */ cpu->r[29] = 0x00000000u;
|
|
/* 02093220 */ cpu->r[31] = cpu->r[28];
|
|
/* 02093224 */ _t11 = cpu->r[30] + 0x000001C8u;
|
|
/* 02093224 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02093228 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093228 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02093228 */ if (_t13) goto L_0209322C; else goto L_0209323C;
|
|
L_0209322C: ; // 0x209322c
|
|
/* 0209322C */ cpu->r[3] = 0x00000038u;
|
|
/* 02093230 */ Gambit_fn_02801A78(cpu);
|
|
/* 02093234 */ cpu->r[31] = cpu->r[3];
|
|
/* 02093234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02093238 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093238 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02093238 */ if (_t15) goto L_0209326C; else goto L_0209323C;
|
|
L_0209323C: ; // 0x209323c
|
|
/* 0209323C */ cpu->r[3] = cpu->r[31];
|
|
/* 02093240 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02093244 */ cpu->r[0] = 0x10010000u;
|
|
/* 02093248 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 02093248 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0209324C */ cpu->r[0] = cpu->r[0] + 0xFFFFE1A0u;
|
|
/* 02093250 */ _t17 = cpu->r[31] + 0x00000034u;
|
|
/* 02093250 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02093254 */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02093254 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02093258 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 02093258 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0209325C */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 0209325C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02093260 */ _t21 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02093260 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02093264 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02093264 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 02093268 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 02093268 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
L_0209326C: ; // 0x209326c
|
|
/* 0209326C */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 0209326C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02093270 */ cpu->r[3] = cpu->r[30] + 0x00000258u;
|
|
/* 02093270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02093274 */ _t25 = cpu->r[30] + 0x00000214u;
|
|
/* 02093274 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02093278 */ _t26 = cpu->r[30] + 0x00000240u;
|
|
/* 02093278 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0209327C */ _t27 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0209327C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02093280 */ _t28 = cpu->r[30] + 0x00000250u;
|
|
/* 02093280 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02093284 */ _t29 = cpu->r[30] + 0x00000254u;
|
|
/* 02093284 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02093288 */ _t30 = cpu->r[30] + 0x00000244u;
|
|
/* 02093288 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 0209328C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209328C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209328C */ if (_t32) goto L_02093290; else goto L_020932A0;
|
|
L_02093290: ; // 0x2093290
|
|
/* 02093290 */ cpu->r[3] = 0x00000008u;
|
|
/* 02093294 */ Gambit_fn_02801A78(cpu);
|
|
/* 02093298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209329C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209329C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0209329C */ if (_t34) goto L_020932BC; else goto L_020932A0;
|
|
L_020932A0: ; // 0x20932a0
|
|
/* 020932A0 */ cpu->r[7] = 0x10010000u;
|
|
/* 020932A4 */ _t35 = cpu->r[3] + 0x00000004u;
|
|
/* 020932A4 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[29]);
|
|
/* 020932A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 020932AC */ _t36 = cpu->r[7] + 0xFFFFEA6Cu;
|
|
/* 020932AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 020932B0 */ _t37 = cpu->r[3] + 0x00000006u;
|
|
/* 020932B0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[5]);
|
|
/* 020932B4 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 020932B4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 020932B8 */ _t39 = cpu->r[3] + 0x00000005u;
|
|
/* 020932B8 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[29]);
|
|
L_020932BC: ; // 0x20932bc
|
|
/* 020932BC */ _t40 = cpu->r[30] + 0x00000260u;
|
|
/* 020932BC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[29]);
|
|
/* 020932C0 */ cpu->r[6] = 0x00000001u;
|
|
/* 020932C4 */ cpu->r[5] = cpu->r[30] + 0x00000214u;
|
|
/* 020932C8 */ cpu->r[4] = 0x00000006u;
|
|
/* 020932CC */ _t41 = cpu->r[30] + 0x00000261u;
|
|
/* 020932CC */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[6]);
|
|
/* 020932D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 020932D4 */ cpu->ctr = cpu->r[4];
|
|
/* 020932D8 */ _t42 = cpu->r[30] + 0x00000264u;
|
|
/* 020932D8 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
L_020932DC: ; // 0x20932dc
|
|
/* 020932DC */ _t43 = cpu->r[5] + 0x00000004u;
|
|
/* 020932DC */ rbrew_write32(cpu->mem, _t43, cpu->r[6]);
|
|
/* 020932DC */ cpu->r[5] = _t43;
|
|
/* 020932E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 020932E0 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 020932E0 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 020932E0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 020932E0 */ if (_t46) goto L_020932DC; else goto L_020932E4;
|
|
L_020932E4: ; // 0x20932e4
|
|
/* 020932E4 */ cpu->r[12] = 0x00000002u;
|
|
/* 020932E8 */ cpu->r[11] = cpu->r[30] + 0x0000022Cu;
|
|
/* 020932EC */ cpu->ctr = cpu->r[12];
|
|
/* 020932F0 */ cpu->r[0] = 0x00000000u;
|
|
L_020932F4: ; // 0x20932f4
|
|
/* 020932F4 */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 020932F4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 020932F4 */ cpu->r[11] = _t47;
|
|
/* 020932F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 020932F8 */ _t48 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 020932F8 */ _t49 = _t48 >> (0x00000002u & 31u);
|
|
/* 020932F8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 020932F8 */ if (_t50) goto L_020932F4; else goto L_020932FC;
|
|
L_020932FC: ; // 0x20932fc
|
|
/* 020932FC */ cpu->r[0] = 0x00000010u;
|
|
/* 02093300 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093304 */ cpu->r[4] = cpu->r[30];
|
|
/* 02093308 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209330C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02093310 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02093310 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02093314 */ Gambit_fn_020966E4(cpu);
|
|
/* 02093318 */ cpu->r[25] = 0x02090000u;
|
|
/* 0209331C */ cpu->r[8] = 0x10010000u;
|
|
/* 02093320 */ cpu->r[25] = cpu->r[25] + 0x00006574u;
|
|
/* 02093324 */ cpu->r[8] = cpu->r[8] + 0xFFFFEAD0u;
|
|
/* 02093328 */ cpu->ctr = cpu->r[25];
|
|
/* 0209332C */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209332C */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 02093330 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02093330 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
|
|
/* 02093334 */ _t54 = cpu->r[28] + 0x00000018u;
|
|
/* 02093334 */ cpu->r[23] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02093338 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209333C */ _t55 = cpu->r[23] + 0x00000000u;
|
|
/* 0209333C */ cpu->r[24] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02093340 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093344 */ cpu->r[26] = 0x10110000u;
|
|
/* 02093348 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093348 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0209334C */ _t57 = cpu->r[26] + 0x00007399u;
|
|
/* 0209334C */ cpu->r[26] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02093350 */ _t58 = cpu->r[7] + 0x00000000u;
|
|
/* 02093350 */ cpu->r[9] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02093354 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 0209335C */ cpu->r[9] = 0x00080000u;
|
|
/* 02093360 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093360 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02093360 */ if (_t60) goto L_02093388; else goto L_02093364;
|
|
L_02093364: ; // 0x2093364
|
|
/* 02093364 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0209336C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02093370 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093370 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02093370 */ if (_t62) goto L_02093384; else goto L_02093374;
|
|
L_02093374: ; // 0x2093374
|
|
/* 02093374 */ _t63 = cpu->r[7] + 0x00000000u;
|
|
/* 02093374 */ cpu->r[10] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02093378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 0209337C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209337C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0209337C */ if (_t65) goto L_02093380; else goto L_02093364;
|
|
L_02093380: ; // 0x2093380
|
|
/* 02093380 */ goto L_02093388;
|
|
L_02093384: ; // 0x2093384
|
|
/* 02093384 */ cpu->r[31] = 0x00000000u;
|
|
L_02093388: ; // 0x2093388
|
|
/* 02093388 */ _t66 = cpu->r[23] + 0x00000008u;
|
|
/* 02093388 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0209338C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02093390 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093390 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02093390 */ if (_t68) goto L_02093398; else goto L_02093394;
|
|
L_02093394: ; // 0x2093394
|
|
/* 02093394 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02093398: ; // 0x2093398
|
|
/* 02093398 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 02093398 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0209339C */ _t70 = cpu->r[11] + 0x00000014u;
|
|
/* 0209339C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 020933A0 */ cpu->ctr = cpu->r[0];
|
|
/* 020933A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020933A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020933AC */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020933AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
/* 020933B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 020933B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 020933B8 */ cpu->r[3] = cpu->r[24];
|
|
/* 020933BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020933C0 */ _t72 = cpu->r[24] + cpu->r[31];
|
|
/* 020933C0 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[26]);
|
|
/* 020933C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020933C8 */ cpu->r[0] = 0x02090000u;
|
|
/* 020933CC */ _t73 = cpu->r[1] + 0x00000016u;
|
|
/* 020933CC */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[29]);
|
|
/* 020933D0 */ cpu->r[0] = cpu->r[0] + 0x000066D4u;
|
|
/* 020933D4 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 020933D4 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[4]);
|
|
/* 020933D8 */ _t75 = cpu->r[1] + 0x00000018u;
|
|
/* 020933D8 */ rbrew_write32(cpu->mem, _t75, cpu->r[29]);
|
|
/* 020933DC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 020933E0 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 020933E0 */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[29]);
|
|
/* 020933E4 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020933E8 */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 020933E8 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[29]);
|
|
/* 020933EC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 020933F0 */ _t78 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020933F0 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[12]);
|
|
/* 020933F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 020933F8 */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 020933F8 */ rbrew_write32(cpu->mem, _t79, cpu->r[29]);
|
|
/* 020933FC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093400 */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 02093400 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02093404 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093408 */ _t81 = cpu->r[1] + 0x00000026u;
|
|
/* 02093408 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[29]);
|
|
/* 0209340C */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209340C */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[29]);
|
|
/* 02093410 */ Gambit_fn_02096994(cpu);
|
|
/* 02093414 */ cpu->r[4] = 0x10010000u;
|
|
/* 02093418 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02093418 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 0209341C */ cpu->r[4] = cpu->r[4] + 0xFFFFEB2Cu;
|
|
/* 02093420 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093420 */ rbrew_write32(cpu->mem, _t84, cpu->r[4]);
|
|
/* 02093424 */ _t85 = cpu->r[28] + 0x00000014u;
|
|
/* 02093424 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02093428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
|
|
/* 0209342C */ _t86 = cpu->r[28] + 0x00000018u;
|
|
/* 0209342C */ cpu->r[24] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02093430 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093430 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02093430 */ if (_t88) goto L_02093434; else goto L_02093438;
|
|
L_02093434: ; // 0x2093434
|
|
/* 02093434 */ cpu->r[24] = cpu->r[24] + 0x00000024u;
|
|
L_02093438: ; // 0x2093438
|
|
/* 02093438 */ cpu->ctr = cpu->r[25];
|
|
/* 0209343C */ _t89 = cpu->r[24] + 0x00000000u;
|
|
/* 0209343C */ cpu->r[23] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02093440 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093444 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093448 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0209344C */ _t91 = cpu->r[12] + 0x00000000u;
|
|
/* 0209344C */ cpu->r[6] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02093450 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02093458 */ cpu->r[5] = 0x00080000u;
|
|
/* 0209345C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209345C */ _t93 = _t92 & 0x00000001u;
|
|
/* 0209345C */ if (_t93) goto L_02093484; else goto L_02093460;
|
|
L_02093460: ; // 0x2093460
|
|
/* 02093460 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02093468 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0209346C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209346C */ _t95 = _t94 & 0x00000001u;
|
|
/* 0209346C */ if (_t95) goto L_02093480; else goto L_02093470;
|
|
L_02093470: ; // 0x2093470
|
|
/* 02093470 */ _t96 = cpu->r[12] + 0x00000000u;
|
|
/* 02093470 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02093474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02093478 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093478 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02093478 */ if (_t98) goto L_0209347C; else goto L_02093460;
|
|
L_0209347C: ; // 0x209347c
|
|
/* 0209347C */ goto L_02093484;
|
|
L_02093480: ; // 0x2093480
|
|
/* 02093480 */ cpu->r[31] = 0x00000000u;
|
|
L_02093484: ; // 0x2093484
|
|
/* 02093484 */ _t99 = cpu->r[24] + 0x00000008u;
|
|
/* 02093484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02093488 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02093488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0209348C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02093490 */ _t101 = cpu->r[8] + 0x00000014u;
|
|
/* 02093490 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02093494 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093494 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02093494 */ if (_t103) goto L_0209349C; else goto L_02093498;
|
|
L_02093498: ; // 0x2093498
|
|
/* 02093498 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0209349C: ; // 0x209349c
|
|
/* 0209349C */ cpu->ctr = cpu->r[9];
|
|
/* 020934A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020934A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020934A8 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020934A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 020934AC */ cpu->r[3] = cpu->r[23];
|
|
/* 020934B0 */ cpu->r[5] = cpu->r[31];
|
|
/* 020934B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020934B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020934BC */ _t105 = cpu->r[23] + cpu->r[31];
|
|
/* 020934BC */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[26]);
|
|
/* 020934C0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 020934C4 */ _t106 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020934C4 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[29]);
|
|
/* 020934C8 */ cpu->r[10] = 0x02090000u;
|
|
/* 020934CC */ _t107 = cpu->r[1] + 0x00000024u;
|
|
/* 020934CC */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[29]);
|
|
/* 020934D0 */ cpu->r[10] = cpu->r[10] + 0x0000502Cu;
|
|
/* 020934D4 */ _t108 = cpu->r[1] + 0x00000026u;
|
|
/* 020934D4 */ rbrew_write16(cpu->mem, _t108, (uint16_t)cpu->r[29]);
|
|
/* 020934D8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020934DC */ _t109 = cpu->r[1] + 0x00000028u;
|
|
/* 020934DC */ rbrew_write32(cpu->mem, _t109, cpu->r[29]);
|
|
/* 020934E0 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 020934E0 */ rbrew_write32(cpu->mem, _t110, cpu->r[10]);
|
|
/* 020934E4 */ cpu->r[10] = 0x00000001u;
|
|
/* 020934E8 */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 020934E8 */ rbrew_write32(cpu->mem, _t111, cpu->r[29]);
|
|
/* 020934EC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020934F0 */ _t112 = cpu->r[1] + 0x00000008u;
|
|
/* 020934F0 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[10]);
|
|
/* 020934F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 020934F8 */ _t113 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020934F8 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[29]);
|
|
/* 020934FC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093500 */ _t114 = cpu->r[1] + 0x00000016u;
|
|
/* 02093500 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[0]);
|
|
/* 02093504 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093508 */ _t115 = cpu->r[1] + 0x00000014u;
|
|
/* 02093508 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[29]);
|
|
/* 0209350C */ Gambit_fn_02096994(cpu);
|
|
/* 02093510 */ cpu->r[11] = 0x10010000u;
|
|
/* 02093514 */ _t116 = cpu->r[1] + 0x00000010u;
|
|
/* 02093514 */ rbrew_write32(cpu->mem, _t116, cpu->r[27]);
|
|
/* 02093518 */ cpu->r[11] = cpu->r[11] + 0xFFFFEB3Cu;
|
|
/* 0209351C */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209351C */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
|
|
/* 02093520 */ _t118 = cpu->r[28] + 0x00000014u;
|
|
/* 02093520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02093524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02093528 */ _t119 = cpu->r[28] + 0x00000018u;
|
|
/* 02093528 */ cpu->r[24] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0209352C */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209352C */ _t121 = _t120 & 0x00000001u;
|
|
/* 0209352C */ if (_t121) goto L_02093530; else goto L_02093534;
|
|
L_02093530: ; // 0x2093530
|
|
/* 02093530 */ cpu->r[24] = cpu->r[24] + 0x00000048u;
|
|
L_02093534: ; // 0x2093534
|
|
/* 02093534 */ cpu->ctr = cpu->r[25];
|
|
/* 02093538 */ _t122 = cpu->r[24] + 0x00000000u;
|
|
/* 02093538 */ cpu->r[23] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0209353C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093540 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093544 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093544 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02093548 */ _t124 = cpu->r[8] + 0x00000000u;
|
|
/* 02093548 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 0209354C */ cpu->r[31] = 0x00000000u;
|
|
/* 02093550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02093554 */ cpu->r[9] = 0x00080000u;
|
|
/* 02093558 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093558 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02093558 */ if (_t126) goto L_02093580; else goto L_0209355C;
|
|
L_0209355C: ; // 0x209355c
|
|
/* 0209355C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02093564 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02093568 */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093568 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02093568 */ if (_t128) goto L_0209357C; else goto L_0209356C;
|
|
L_0209356C: ; // 0x209356c
|
|
/* 0209356C */ _t129 = cpu->r[8] + 0x00000000u;
|
|
/* 0209356C */ cpu->r[4] = rbrew_read8(cpu->mem, _t129);
|
|
/* 02093570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
|
|
/* 02093574 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093574 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02093574 */ if (_t131) goto L_02093578; else goto L_0209355C;
|
|
L_02093578: ; // 0x2093578
|
|
/* 02093578 */ goto L_02093580;
|
|
L_0209357C: ; // 0x209357c
|
|
/* 0209357C */ cpu->r[31] = 0x00000000u;
|
|
L_02093580: ; // 0x2093580
|
|
/* 02093580 */ _t132 = cpu->r[24] + 0x00000008u;
|
|
/* 02093580 */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02093584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02093588 */ _t133 = cpu->r[1] + 0x00000010u;
|
|
/* 02093588 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0209358C */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209358C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0209358C */ if (_t135) goto L_02093594; else goto L_02093590;
|
|
L_02093590: ; // 0x2093590
|
|
/* 02093590 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02093594: ; // 0x2093594
|
|
/* 02093594 */ _t136 = cpu->r[5] + 0x00000014u;
|
|
/* 02093594 */ cpu->r[6] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02093598 */ cpu->ctr = cpu->r[6];
|
|
/* 0209359C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020935A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020935A4 */ _t137 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020935A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t137);
|
|
/* 020935A8 */ cpu->r[3] = cpu->r[23];
|
|
/* 020935AC */ cpu->r[5] = cpu->r[31];
|
|
/* 020935B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 020935B4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020935B8 */ _t138 = cpu->r[23] + cpu->r[31];
|
|
/* 020935B8 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]);
|
|
/* 020935BC */ cpu->r[8] = 0x00000002u;
|
|
/* 020935C0 */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 020935C0 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[29]);
|
|
/* 020935C4 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 020935C8 */ _t140 = cpu->r[1] + 0x00000008u;
|
|
/* 020935C8 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[8]);
|
|
/* 020935CC */ cpu->r[7] = 0x02090000u;
|
|
/* 020935D0 */ _t141 = cpu->r[1] + 0x00000028u;
|
|
/* 020935D0 */ rbrew_write32(cpu->mem, _t141, cpu->r[29]);
|
|
/* 020935D4 */ _t142 = cpu->r[1] + 0x00000016u;
|
|
/* 020935D4 */ rbrew_write16(cpu->mem, _t142, (uint16_t)cpu->r[9]);
|
|
/* 020935D8 */ cpu->r[7] = cpu->r[7] + 0x000054A8u;
|
|
/* 020935DC */ _t143 = cpu->r[1] + 0x00000024u;
|
|
/* 020935DC */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[29]);
|
|
/* 020935E0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020935E4 */ _t144 = cpu->r[1] + 0x00000020u;
|
|
/* 020935E4 */ rbrew_write32(cpu->mem, _t144, cpu->r[29]);
|
|
/* 020935E8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020935EC */ _t145 = cpu->r[1] + 0x00000018u;
|
|
/* 020935EC */ rbrew_write32(cpu->mem, _t145, cpu->r[7]);
|
|
/* 020935F0 */ _t146 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020935F0 */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[29]);
|
|
/* 020935F4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020935F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 020935FC */ _t147 = cpu->r[1] + 0x00000026u;
|
|
/* 020935FC */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[29]);
|
|
/* 02093600 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093604 */ _t148 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093604 */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[29]);
|
|
/* 02093608 */ Gambit_fn_02096994(cpu);
|
|
/* 0209360C */ cpu->r[0] = 0x10010000u;
|
|
/* 02093610 */ _t149 = cpu->r[1] + 0x00000010u;
|
|
/* 02093610 */ rbrew_write32(cpu->mem, _t149, cpu->r[27]);
|
|
/* 02093614 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB48u;
|
|
/* 02093618 */ _t150 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093618 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 0209361C */ _t151 = cpu->r[28] + 0x00000014u;
|
|
/* 0209361C */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02093620 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000003u);
|
|
/* 02093624 */ _t152 = cpu->r[28] + 0x00000018u;
|
|
/* 02093624 */ cpu->r[24] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02093628 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093628 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02093628 */ if (_t154) goto L_0209362C; else goto L_02093630;
|
|
L_0209362C: ; // 0x209362c
|
|
/* 0209362C */ cpu->r[24] = cpu->r[24] + 0x0000006Cu;
|
|
L_02093630: ; // 0x2093630
|
|
/* 02093630 */ cpu->ctr = cpu->r[25];
|
|
/* 02093634 */ _t155 = cpu->r[24] + 0x00000000u;
|
|
/* 02093634 */ cpu->r[23] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02093638 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209363C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093640 */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02093644 */ _t157 = cpu->r[4] + 0x00000000u;
|
|
/* 02093644 */ cpu->r[10] = rbrew_read8(cpu->mem, _t157);
|
|
/* 02093648 */ cpu->r[31] = 0x00000000u;
|
|
/* 0209364C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02093650 */ cpu->r[5] = 0x00080000u;
|
|
/* 02093654 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093654 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02093654 */ if (_t159) goto L_0209367C; else goto L_02093658;
|
|
L_02093658: ; // 0x2093658
|
|
/* 02093658 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0209365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02093660 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02093664 */ _t160 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093664 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02093664 */ if (_t161) goto L_02093678; else goto L_02093668;
|
|
L_02093668: ; // 0x2093668
|
|
/* 02093668 */ _t162 = cpu->r[4] + 0x00000000u;
|
|
/* 02093668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t162);
|
|
/* 0209366C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02093670 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093670 */ _t164 = _t163 & 0x00000001u;
|
|
/* 02093670 */ if (_t164) goto L_02093674; else goto L_02093658;
|
|
L_02093674: ; // 0x2093674
|
|
/* 02093674 */ goto L_0209367C;
|
|
L_02093678: ; // 0x2093678
|
|
/* 02093678 */ cpu->r[31] = 0x00000000u;
|
|
L_0209367C: ; // 0x209367c
|
|
/* 0209367C */ _t165 = cpu->r[24] + 0x00000008u;
|
|
/* 0209367C */ cpu->r[7] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02093680 */ _t166 = cpu->r[1] + 0x00000010u;
|
|
/* 02093680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02093684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02093688 */ _t167 = cpu->r[12] + 0x00000014u;
|
|
/* 02093688 */ cpu->r[4] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0209368C */ _t168 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209368C */ _t169 = _t168 & 0x00000001u;
|
|
/* 0209368C */ if (_t169) goto L_02093694; else goto L_02093690;
|
|
L_02093690: ; // 0x2093690
|
|
/* 02093690 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02093694: ; // 0x2093694
|
|
/* 02093694 */ cpu->ctr = cpu->r[4];
|
|
/* 02093698 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209369C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020936A0 */ _t170 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020936A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t170);
|
|
/* 020936A4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020936A8 */ cpu->r[5] = cpu->r[31];
|
|
/* 020936AC */ cpu->r[3] = cpu->r[23];
|
|
/* 020936B0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020936B4 */ _t171 = cpu->r[23] + cpu->r[31];
|
|
/* 020936B4 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[26]);
|
|
/* 020936B8 */ cpu->r[5] = 0x02090000u;
|
|
/* 020936BC */ _t172 = cpu->r[1] + 0x00000020u;
|
|
/* 020936BC */ rbrew_write32(cpu->mem, _t172, cpu->r[29]);
|
|
/* 020936C0 */ cpu->r[5] = cpu->r[5] + 0x00005784u;
|
|
/* 020936C4 */ _t173 = cpu->r[1] + 0x00000026u;
|
|
/* 020936C4 */ rbrew_write16(cpu->mem, _t173, (uint16_t)cpu->r[29]);
|
|
/* 020936C8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 020936CC */ _t174 = cpu->r[1] + 0x00000018u;
|
|
/* 020936CC */ rbrew_write32(cpu->mem, _t174, cpu->r[5]);
|
|
/* 020936D0 */ cpu->r[5] = 0x00000003u;
|
|
/* 020936D4 */ _t175 = cpu->r[1] + 0x00000016u;
|
|
/* 020936D4 */ rbrew_write16(cpu->mem, _t175, (uint16_t)cpu->r[7]);
|
|
/* 020936D8 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 020936D8 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[5]);
|
|
/* 020936DC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020936E0 */ _t177 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020936E0 */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[29]);
|
|
/* 020936E4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020936E8 */ _t178 = cpu->r[1] + 0x00000024u;
|
|
/* 020936E8 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[29]);
|
|
/* 020936EC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020936F0 */ _t179 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020936F0 */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[29]);
|
|
/* 020936F4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020936F8 */ _t180 = cpu->r[1] + 0x00000028u;
|
|
/* 020936F8 */ rbrew_write32(cpu->mem, _t180, cpu->r[29]);
|
|
/* 020936FC */ cpu->r[3] = cpu->r[28];
|
|
/* 02093700 */ _t181 = cpu->r[1] + 0x00000014u;
|
|
/* 02093700 */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[29]);
|
|
/* 02093704 */ Gambit_fn_02096994(cpu);
|
|
/* 02093708 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209370C */ _t182 = cpu->r[1] + 0x00000010u;
|
|
/* 0209370C */ rbrew_write32(cpu->mem, _t182, cpu->r[27]);
|
|
/* 02093710 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB60u;
|
|
/* 02093714 */ _t183 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093714 */ rbrew_write32(cpu->mem, _t183, cpu->r[6]);
|
|
/* 02093718 */ _t184 = cpu->r[28] + 0x00000014u;
|
|
/* 02093718 */ cpu->r[7] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0209371C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000004u);
|
|
/* 02093720 */ _t185 = cpu->r[28] + 0x00000018u;
|
|
/* 02093720 */ cpu->r[24] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02093724 */ _t186 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093724 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02093724 */ if (_t187) goto L_02093728; else goto L_0209372C;
|
|
L_02093728: ; // 0x2093728
|
|
/* 02093728 */ cpu->r[24] = cpu->r[24] + 0x00000090u;
|
|
L_0209372C: ; // 0x209372c
|
|
/* 0209372C */ cpu->ctr = cpu->r[25];
|
|
/* 02093730 */ _t188 = cpu->r[24] + 0x00000000u;
|
|
/* 02093730 */ cpu->r[23] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02093734 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209373C */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209373C */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02093740 */ _t190 = cpu->r[9] + 0x00000000u;
|
|
/* 02093740 */ cpu->r[8] = rbrew_read8(cpu->mem, _t190);
|
|
/* 02093744 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 0209374C */ cpu->r[11] = 0x00080000u;
|
|
/* 02093750 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093750 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02093750 */ if (_t192) goto L_02093778; else goto L_02093754;
|
|
L_02093754: ; // 0x2093754
|
|
/* 02093754 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0209375C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02093760 */ _t193 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093760 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02093760 */ if (_t194) goto L_02093774; else goto L_02093764;
|
|
L_02093764: ; // 0x2093764
|
|
/* 02093764 */ _t195 = cpu->r[9] + 0x00000000u;
|
|
/* 02093764 */ cpu->r[0] = rbrew_read8(cpu->mem, _t195);
|
|
/* 02093768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 0209376C */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209376C */ _t197 = _t196 & 0x00000001u;
|
|
/* 0209376C */ if (_t197) goto L_02093770; else goto L_02093754;
|
|
L_02093770: ; // 0x2093770
|
|
/* 02093770 */ goto L_02093778;
|
|
L_02093774: ; // 0x2093774
|
|
/* 02093774 */ cpu->r[31] = 0x00000000u;
|
|
L_02093778: ; // 0x2093778
|
|
/* 02093778 */ _t198 = cpu->r[24] + 0x00000008u;
|
|
/* 02093778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t198);
|
|
/* 0209377C */ _t199 = cpu->r[1] + 0x00000010u;
|
|
/* 0209377C */ cpu->r[10] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02093780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02093784 */ _t200 = cpu->r[10] + 0x00000014u;
|
|
/* 02093784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02093788 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093788 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02093788 */ if (_t202) goto L_02093790; else goto L_0209378C;
|
|
L_0209378C: ; // 0x209378c
|
|
/* 0209378C */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02093790: ; // 0x2093790
|
|
/* 02093790 */ cpu->ctr = cpu->r[11];
|
|
/* 02093794 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209379C */ _t203 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209379C */ cpu->r[4] = rbrew_read32(cpu->mem, _t203);
|
|
/* 020937A0 */ cpu->r[3] = cpu->r[23];
|
|
/* 020937A4 */ cpu->r[5] = cpu->r[31];
|
|
/* 020937A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 020937AC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020937B0 */ _t204 = cpu->r[23] + cpu->r[31];
|
|
/* 020937B0 */ rbrew_write8(cpu->mem, _t204, (uint8_t)cpu->r[26]);
|
|
/* 020937B4 */ cpu->r[0] = 0x00000004u;
|
|
/* 020937B8 */ _t205 = cpu->r[1] + 0x00000026u;
|
|
/* 020937B8 */ rbrew_write16(cpu->mem, _t205, (uint16_t)cpu->r[29]);
|
|
/* 020937BC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 020937C0 */ _t206 = cpu->r[1] + 0x00000008u;
|
|
/* 020937C0 */ rbrew_write8(cpu->mem, _t206, (uint8_t)cpu->r[0]);
|
|
/* 020937C4 */ cpu->r[12] = 0x02090000u;
|
|
/* 020937C8 */ _t207 = cpu->r[1] + 0x00000024u;
|
|
/* 020937C8 */ rbrew_write16(cpu->mem, _t207, (uint16_t)cpu->r[29]);
|
|
/* 020937CC */ cpu->r[12] = cpu->r[12] + 0x00005864u;
|
|
/* 020937D0 */ _t208 = cpu->r[1] + 0x00000014u;
|
|
/* 020937D0 */ rbrew_write16(cpu->mem, _t208, (uint16_t)cpu->r[29]);
|
|
/* 020937D4 */ _t209 = cpu->r[1] + 0x00000016u;
|
|
/* 020937D4 */ rbrew_write16(cpu->mem, _t209, (uint16_t)cpu->r[4]);
|
|
/* 020937D8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020937DC */ _t210 = cpu->r[1] + 0x00000018u;
|
|
/* 020937DC */ rbrew_write32(cpu->mem, _t210, cpu->r[12]);
|
|
/* 020937E0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020937E4 */ _t211 = cpu->r[1] + 0x00000020u;
|
|
/* 020937E4 */ rbrew_write32(cpu->mem, _t211, cpu->r[29]);
|
|
/* 020937E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 020937EC */ _t212 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020937EC */ rbrew_write16(cpu->mem, _t212, (uint16_t)cpu->r[29]);
|
|
/* 020937F0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020937F4 */ _t213 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020937F4 */ rbrew_write16(cpu->mem, _t213, (uint16_t)cpu->r[29]);
|
|
/* 020937F8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020937FC */ _t214 = cpu->r[1] + 0x00000028u;
|
|
/* 020937FC */ rbrew_write32(cpu->mem, _t214, cpu->r[29]);
|
|
/* 02093800 */ Gambit_fn_02096994(cpu);
|
|
/* 02093804 */ cpu->r[0] = 0x10010000u;
|
|
/* 02093808 */ _t215 = cpu->r[1] + 0x00000010u;
|
|
/* 02093808 */ rbrew_write32(cpu->mem, _t215, cpu->r[27]);
|
|
/* 0209380C */ cpu->r[0] = cpu->r[0] + 0xFFFFEAE0u;
|
|
/* 02093810 */ _t216 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093810 */ rbrew_write32(cpu->mem, _t216, cpu->r[0]);
|
|
/* 02093814 */ _t217 = cpu->r[28] + 0x00000014u;
|
|
/* 02093814 */ cpu->r[4] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02093818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000005u);
|
|
/* 0209381C */ _t218 = cpu->r[28] + 0x00000018u;
|
|
/* 0209381C */ cpu->r[24] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02093820 */ _t219 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093820 */ _t220 = _t219 & 0x00000001u;
|
|
/* 02093820 */ if (_t220) goto L_02093824; else goto L_02093828;
|
|
L_02093824: ; // 0x2093824
|
|
/* 02093824 */ cpu->r[24] = cpu->r[24] + 0x000000B4u;
|
|
L_02093828: ; // 0x2093828
|
|
/* 02093828 */ cpu->ctr = cpu->r[25];
|
|
/* 0209382C */ _t221 = cpu->r[24] + 0x00000000u;
|
|
/* 0209382C */ cpu->r[23] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02093830 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093838 */ _t222 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t222);
|
|
/* 0209383C */ _t223 = cpu->r[12] + 0x00000000u;
|
|
/* 0209383C */ cpu->r[5] = rbrew_read8(cpu->mem, _t223);
|
|
/* 02093840 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[26]);
|
|
/* 02093848 */ cpu->r[5] = 0x00080000u;
|
|
/* 0209384C */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209384C */ _t225 = _t224 & 0x00000001u;
|
|
/* 0209384C */ if (_t225) goto L_02093874; else goto L_02093850;
|
|
L_02093850: ; // 0x2093850
|
|
/* 02093850 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02093858 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0209385C */ _t226 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209385C */ _t227 = _t226 & 0x00000001u;
|
|
/* 0209385C */ if (_t227) goto L_02093870; else goto L_02093860;
|
|
L_02093860: ; // 0x2093860
|
|
/* 02093860 */ _t228 = cpu->r[12] + 0x00000000u;
|
|
/* 02093860 */ cpu->r[6] = rbrew_read8(cpu->mem, _t228);
|
|
/* 02093864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02093868 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093868 */ _t230 = _t229 & 0x00000001u;
|
|
/* 02093868 */ if (_t230) goto L_0209386C; else goto L_02093850;
|
|
L_0209386C: ; // 0x209386c
|
|
/* 0209386C */ goto L_02093874;
|
|
L_02093870: ; // 0x2093870
|
|
/* 02093870 */ cpu->r[31] = 0x00000000u;
|
|
L_02093874: ; // 0x2093874
|
|
/* 02093874 */ _t231 = cpu->r[24] + 0x00000008u;
|
|
/* 02093874 */ cpu->r[11] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02093878 */ _t232 = cpu->r[1] + 0x00000010u;
|
|
/* 02093878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t232);
|
|
/* 0209387C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02093880 */ _t233 = cpu->r[7] + 0x00000014u;
|
|
/* 02093880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02093884 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093884 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02093884 */ if (_t235) goto L_0209388C; else goto L_02093888;
|
|
L_02093888: ; // 0x2093888
|
|
/* 02093888 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0209388C: ; // 0x209388c
|
|
/* 0209388C */ cpu->ctr = cpu->r[8];
|
|
/* 02093890 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093898 */ _t236 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093898 */ cpu->r[4] = rbrew_read32(cpu->mem, _t236);
|
|
/* 0209389C */ cpu->r[3] = cpu->r[23];
|
|
/* 020938A0 */ cpu->r[5] = cpu->r[31];
|
|
/* 020938A4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020938A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020938AC */ _t237 = cpu->r[23] + cpu->r[31];
|
|
/* 020938AC */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[26]);
|
|
/* 020938B0 */ cpu->r[11] = 0x00000005u;
|
|
/* 020938B4 */ _t238 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020938B4 */ rbrew_write16(cpu->mem, _t238, (uint16_t)cpu->r[29]);
|
|
/* 020938B8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 020938BC */ _t239 = cpu->r[1] + 0x00000024u;
|
|
/* 020938BC */ rbrew_write16(cpu->mem, _t239, (uint16_t)cpu->r[29]);
|
|
/* 020938C0 */ cpu->r[9] = 0x02090000u;
|
|
/* 020938C4 */ _t240 = cpu->r[1] + 0x00000016u;
|
|
/* 020938C4 */ rbrew_write16(cpu->mem, _t240, (uint16_t)cpu->r[12]);
|
|
/* 020938C8 */ cpu->r[9] = cpu->r[9] + 0x000059A0u;
|
|
/* 020938CC */ _t241 = cpu->r[1] + 0x00000020u;
|
|
/* 020938CC */ rbrew_write32(cpu->mem, _t241, cpu->r[29]);
|
|
/* 020938D0 */ _t242 = cpu->r[1] + 0x00000014u;
|
|
/* 020938D0 */ rbrew_write16(cpu->mem, _t242, (uint16_t)cpu->r[29]);
|
|
/* 020938D4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020938D8 */ _t243 = cpu->r[1] + 0x00000008u;
|
|
/* 020938D8 */ rbrew_write8(cpu->mem, _t243, (uint8_t)cpu->r[11]);
|
|
/* 020938DC */ cpu->r[3] = cpu->r[28];
|
|
/* 020938E0 */ _t244 = cpu->r[1] + 0x00000028u;
|
|
/* 020938E0 */ rbrew_write32(cpu->mem, _t244, cpu->r[29]);
|
|
/* 020938E4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020938E8 */ _t245 = cpu->r[1] + 0x00000026u;
|
|
/* 020938E8 */ rbrew_write16(cpu->mem, _t245, (uint16_t)cpu->r[29]);
|
|
/* 020938EC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020938F0 */ _t246 = cpu->r[1] + 0x00000018u;
|
|
/* 020938F0 */ rbrew_write32(cpu->mem, _t246, cpu->r[9]);
|
|
/* 020938F4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020938F8 */ _t247 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020938F8 */ rbrew_write16(cpu->mem, _t247, (uint16_t)cpu->r[29]);
|
|
/* 020938FC */ Gambit_fn_02096994(cpu);
|
|
/* 02093900 */ cpu->r[0] = 0x10010000u;
|
|
/* 02093904 */ _t248 = cpu->r[1] + 0x00000010u;
|
|
/* 02093904 */ rbrew_write32(cpu->mem, _t248, cpu->r[27]);
|
|
/* 02093908 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB74u;
|
|
/* 0209390C */ _t249 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209390C */ rbrew_write32(cpu->mem, _t249, cpu->r[0]);
|
|
/* 02093910 */ _t250 = cpu->r[28] + 0x00000014u;
|
|
/* 02093910 */ cpu->r[11] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02093914 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02093918 */ _t251 = cpu->r[28] + 0x00000018u;
|
|
/* 02093918 */ cpu->r[24] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0209391C */ _t252 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209391C */ _t253 = _t252 & 0x00000001u;
|
|
/* 0209391C */ if (_t253) goto L_02093920; else goto L_02093924;
|
|
L_02093920: ; // 0x2093920
|
|
/* 02093920 */ cpu->r[24] = cpu->r[24] + 0x000000D8u;
|
|
L_02093924: ; // 0x2093924
|
|
/* 02093924 */ cpu->ctr = cpu->r[25];
|
|
/* 02093928 */ _t254 = cpu->r[24] + 0x00000000u;
|
|
/* 02093928 */ cpu->r[23] = rbrew_read32(cpu->mem, _t254);
|
|
/* 0209392C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093934 */ _t255 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02093938 */ _t256 = cpu->r[8] + 0x00000000u;
|
|
/* 02093938 */ cpu->r[12] = rbrew_read8(cpu->mem, _t256);
|
|
/* 0209393C */ cpu->r[31] = 0x00000000u;
|
|
/* 02093940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02093944 */ cpu->r[10] = 0x00080000u;
|
|
/* 02093948 */ _t257 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093948 */ _t258 = _t257 & 0x00000001u;
|
|
/* 02093948 */ if (_t258) goto L_02093970; else goto L_0209394C;
|
|
L_0209394C: ; // 0x209394c
|
|
/* 0209394C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02093954 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02093958 */ _t259 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093958 */ _t260 = _t259 & 0x00000001u;
|
|
/* 02093958 */ if (_t260) goto L_0209396C; else goto L_0209395C;
|
|
L_0209395C: ; // 0x209395c
|
|
/* 0209395C */ _t261 = cpu->r[8] + 0x00000000u;
|
|
/* 0209395C */ cpu->r[0] = rbrew_read8(cpu->mem, _t261);
|
|
/* 02093960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02093964 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093964 */ _t263 = _t262 & 0x00000001u;
|
|
/* 02093964 */ if (_t263) goto L_02093968; else goto L_0209394C;
|
|
L_02093968: ; // 0x2093968
|
|
/* 02093968 */ goto L_02093970;
|
|
L_0209396C: ; // 0x209396c
|
|
/* 0209396C */ cpu->r[31] = 0x00000000u;
|
|
L_02093970: ; // 0x2093970
|
|
/* 02093970 */ _t264 = cpu->r[24] + 0x00000008u;
|
|
/* 02093970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02093974 */ _t265 = cpu->r[1] + 0x00000010u;
|
|
/* 02093974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02093978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0209397C */ _t266 = cpu->r[4] + 0x00000014u;
|
|
/* 0209397C */ cpu->r[5] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02093980 */ _t267 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093980 */ _t268 = _t267 & 0x00000001u;
|
|
/* 02093980 */ if (_t268) goto L_02093988; else goto L_02093984;
|
|
L_02093984: ; // 0x2093984
|
|
/* 02093984 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02093988: ; // 0x2093988
|
|
/* 02093988 */ cpu->ctr = cpu->r[5];
|
|
/* 0209398C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093990 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093994 */ _t269 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02093998 */ cpu->r[3] = cpu->r[23];
|
|
/* 0209399C */ cpu->r[5] = cpu->r[31];
|
|
/* 020939A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 020939A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020939A8 */ _t270 = cpu->r[23] + cpu->r[31];
|
|
/* 020939A8 */ rbrew_write8(cpu->mem, _t270, (uint8_t)cpu->r[26]);
|
|
/* 020939AC */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 020939B0 */ _t271 = cpu->r[1] + 0x00000026u;
|
|
/* 020939B0 */ rbrew_write16(cpu->mem, _t271, (uint16_t)cpu->r[29]);
|
|
/* 020939B4 */ cpu->r[6] = 0x02090000u;
|
|
/* 020939B8 */ _t272 = cpu->r[1] + 0x00000014u;
|
|
/* 020939B8 */ rbrew_write16(cpu->mem, _t272, (uint16_t)cpu->r[29]);
|
|
/* 020939BC */ cpu->r[6] = cpu->r[6] + 0x000066D8u;
|
|
/* 020939C0 */ _t273 = cpu->r[1] + 0x00000016u;
|
|
/* 020939C0 */ rbrew_write16(cpu->mem, _t273, (uint16_t)cpu->r[10]);
|
|
/* 020939C4 */ cpu->r[9] = 0x00000006u;
|
|
/* 020939C8 */ _t274 = cpu->r[1] + 0x00000024u;
|
|
/* 020939C8 */ rbrew_write16(cpu->mem, _t274, (uint16_t)cpu->r[29]);
|
|
/* 020939CC */ _t275 = cpu->r[1] + 0x00000018u;
|
|
/* 020939CC */ rbrew_write32(cpu->mem, _t275, cpu->r[6]);
|
|
/* 020939D0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020939D4 */ _t276 = cpu->r[1] + 0x00000028u;
|
|
/* 020939D4 */ rbrew_write32(cpu->mem, _t276, cpu->r[29]);
|
|
/* 020939D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 020939DC */ _t277 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020939DC */ rbrew_write16(cpu->mem, _t277, (uint16_t)cpu->r[29]);
|
|
/* 020939E0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020939E4 */ _t278 = cpu->r[1] + 0x00000020u;
|
|
/* 020939E4 */ rbrew_write32(cpu->mem, _t278, cpu->r[29]);
|
|
/* 020939E8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020939EC */ _t279 = cpu->r[1] + 0x00000008u;
|
|
/* 020939EC */ rbrew_write8(cpu->mem, _t279, (uint8_t)cpu->r[9]);
|
|
/* 020939F0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020939F4 */ _t280 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020939F4 */ rbrew_write16(cpu->mem, _t280, (uint16_t)cpu->r[29]);
|
|
/* 020939F8 */ Gambit_fn_02096994(cpu);
|
|
/* 020939FC */ cpu->r[7] = 0x10010000u;
|
|
/* 02093A00 */ _t281 = cpu->r[1] + 0x00000010u;
|
|
/* 02093A00 */ rbrew_write32(cpu->mem, _t281, cpu->r[27]);
|
|
/* 02093A04 */ cpu->r[7] = cpu->r[7] + 0xFFFFEB8Cu;
|
|
/* 02093A08 */ _t282 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093A08 */ rbrew_write32(cpu->mem, _t282, cpu->r[7]);
|
|
/* 02093A0C */ _t283 = cpu->r[28] + 0x00000014u;
|
|
/* 02093A0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02093A10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000007u);
|
|
/* 02093A14 */ _t284 = cpu->r[28] + 0x00000018u;
|
|
/* 02093A14 */ cpu->r[24] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02093A18 */ _t285 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093A18 */ _t286 = _t285 & 0x00000001u;
|
|
/* 02093A18 */ if (_t286) goto L_02093A1C; else goto L_02093A20;
|
|
L_02093A1C: ; // 0x2093a1c
|
|
/* 02093A1C */ cpu->r[24] = cpu->r[24] + 0x000000FCu;
|
|
L_02093A20: ; // 0x2093a20
|
|
/* 02093A20 */ cpu->ctr = cpu->r[25];
|
|
/* 02093A24 */ _t287 = cpu->r[24] + 0x00000000u;
|
|
/* 02093A24 */ cpu->r[23] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02093A28 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093A2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093A30 */ _t288 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093A30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02093A34 */ _t289 = cpu->r[5] + 0x00000000u;
|
|
/* 02093A34 */ cpu->r[9] = rbrew_read8(cpu->mem, _t289);
|
|
/* 02093A38 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093A3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 02093A40 */ cpu->r[6] = 0x00080000u;
|
|
/* 02093A44 */ _t290 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093A44 */ _t291 = _t290 & 0x00000001u;
|
|
/* 02093A44 */ if (_t291) goto L_02093A6C; else goto L_02093A48;
|
|
L_02093A48: ; // 0x2093a48
|
|
/* 02093A48 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02093A50 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02093A54 */ _t292 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093A54 */ _t293 = _t292 & 0x00000001u;
|
|
/* 02093A54 */ if (_t293) goto L_02093A68; else goto L_02093A58;
|
|
L_02093A58: ; // 0x2093a58
|
|
/* 02093A58 */ _t294 = cpu->r[5] + 0x00000000u;
|
|
/* 02093A58 */ cpu->r[10] = rbrew_read8(cpu->mem, _t294);
|
|
/* 02093A5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02093A60 */ _t295 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093A60 */ _t296 = _t295 & 0x00000001u;
|
|
/* 02093A60 */ if (_t296) goto L_02093A64; else goto L_02093A48;
|
|
L_02093A64: ; // 0x2093a64
|
|
/* 02093A64 */ goto L_02093A6C;
|
|
L_02093A68: ; // 0x2093a68
|
|
/* 02093A68 */ cpu->r[31] = 0x00000000u;
|
|
L_02093A6C: ; // 0x2093a6c
|
|
/* 02093A6C */ _t297 = cpu->r[24] + 0x00000008u;
|
|
/* 02093A6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t297);
|
|
/* 02093A70 */ _t298 = cpu->r[1] + 0x00000010u;
|
|
/* 02093A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02093A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 02093A78 */ _t299 = cpu->r[12] + 0x00000014u;
|
|
/* 02093A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02093A7C */ _t300 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093A7C */ _t301 = _t300 & 0x00000001u;
|
|
/* 02093A7C */ if (_t301) goto L_02093A84; else goto L_02093A80;
|
|
L_02093A80: ; // 0x2093a80
|
|
/* 02093A80 */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02093A84: ; // 0x2093a84
|
|
/* 02093A84 */ cpu->ctr = cpu->r[0];
|
|
/* 02093A88 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093A8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093A90 */ _t302 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093A90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02093A94 */ cpu->r[3] = cpu->r[23];
|
|
/* 02093A98 */ cpu->r[5] = cpu->r[31];
|
|
/* 02093A9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02093AA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093AA4 */ _t303 = cpu->r[23] + cpu->r[31];
|
|
/* 02093AA4 */ rbrew_write8(cpu->mem, _t303, (uint8_t)cpu->r[26]);
|
|
/* 02093AA8 */ cpu->r[4] = 0x02090000u;
|
|
/* 02093AAC */ _t304 = cpu->r[1] + 0x00000024u;
|
|
/* 02093AAC */ rbrew_write16(cpu->mem, _t304, (uint16_t)cpu->r[29]);
|
|
/* 02093AB0 */ cpu->r[4] = cpu->r[4] + 0x00005AB0u;
|
|
/* 02093AB4 */ _t305 = cpu->r[1] + 0x00000020u;
|
|
/* 02093AB4 */ rbrew_write32(cpu->mem, _t305, cpu->r[29]);
|
|
/* 02093AB8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02093ABC */ _t306 = cpu->r[1] + 0x00000026u;
|
|
/* 02093ABC */ rbrew_write16(cpu->mem, _t306, (uint16_t)cpu->r[29]);
|
|
/* 02093AC0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093AC4 */ _t307 = cpu->r[1] + 0x00000018u;
|
|
/* 02093AC4 */ rbrew_write32(cpu->mem, _t307, cpu->r[4]);
|
|
/* 02093AC8 */ _t308 = cpu->r[1] + 0x00000016u;
|
|
/* 02093AC8 */ rbrew_write16(cpu->mem, _t308, (uint16_t)cpu->r[0]);
|
|
/* 02093ACC */ cpu->r[0] = 0x00000007u;
|
|
/* 02093AD0 */ _t309 = cpu->r[1] + 0x00000028u;
|
|
/* 02093AD0 */ rbrew_write32(cpu->mem, _t309, cpu->r[29]);
|
|
/* 02093AD4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093AD8 */ _t310 = cpu->r[1] + 0x00000008u;
|
|
/* 02093AD8 */ rbrew_write8(cpu->mem, _t310, (uint8_t)cpu->r[0]);
|
|
/* 02093ADC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093AE0 */ _t311 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093AE0 */ rbrew_write16(cpu->mem, _t311, (uint16_t)cpu->r[29]);
|
|
/* 02093AE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093AE8 */ _t312 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093AE8 */ rbrew_write16(cpu->mem, _t312, (uint16_t)cpu->r[29]);
|
|
/* 02093AEC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093AF0 */ _t313 = cpu->r[1] + 0x00000014u;
|
|
/* 02093AF0 */ rbrew_write16(cpu->mem, _t313, (uint16_t)cpu->r[29]);
|
|
/* 02093AF4 */ Gambit_fn_02096994(cpu);
|
|
/* 02093AF8 */ cpu->r[5] = 0x10010000u;
|
|
/* 02093AFC */ _t314 = cpu->r[1] + 0x00000010u;
|
|
/* 02093AFC */ rbrew_write32(cpu->mem, _t314, cpu->r[27]);
|
|
/* 02093B00 */ cpu->r[5] = cpu->r[5] + 0xFFFFEBA8u;
|
|
/* 02093B04 */ _t315 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093B04 */ rbrew_write32(cpu->mem, _t315, cpu->r[5]);
|
|
/* 02093B08 */ _t316 = cpu->r[28] + 0x00000014u;
|
|
/* 02093B08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02093B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000008u);
|
|
/* 02093B10 */ _t317 = cpu->r[28] + 0x00000018u;
|
|
/* 02093B10 */ cpu->r[24] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02093B14 */ _t318 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093B14 */ _t319 = _t318 & 0x00000001u;
|
|
/* 02093B14 */ if (_t319) goto L_02093B18; else goto L_02093B1C;
|
|
L_02093B18: ; // 0x2093b18
|
|
/* 02093B18 */ cpu->r[24] = cpu->r[24] + 0x00000120u;
|
|
L_02093B1C: ; // 0x2093b1c
|
|
/* 02093B1C */ cpu->ctr = cpu->r[25];
|
|
/* 02093B20 */ _t320 = cpu->r[24] + 0x00000000u;
|
|
/* 02093B20 */ cpu->r[23] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02093B24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093B2C */ _t321 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093B2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02093B30 */ _t322 = cpu->r[9] + 0x00000000u;
|
|
/* 02093B30 */ cpu->r[7] = rbrew_read8(cpu->mem, _t322);
|
|
/* 02093B34 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093B38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02093B3C */ cpu->r[0] = 0x00080000u;
|
|
/* 02093B40 */ _t323 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093B40 */ _t324 = _t323 & 0x00000001u;
|
|
/* 02093B40 */ if (_t324) goto L_02093B68; else goto L_02093B44;
|
|
L_02093B44: ; // 0x2093b44
|
|
/* 02093B44 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02093B4C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02093B50 */ _t325 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093B50 */ _t326 = _t325 & 0x00000001u;
|
|
/* 02093B50 */ if (_t326) goto L_02093B64; else goto L_02093B54;
|
|
L_02093B54: ; // 0x2093b54
|
|
/* 02093B54 */ _t327 = cpu->r[9] + 0x00000000u;
|
|
/* 02093B54 */ cpu->r[8] = rbrew_read8(cpu->mem, _t327);
|
|
/* 02093B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 02093B5C */ _t328 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093B5C */ _t329 = _t328 & 0x00000001u;
|
|
/* 02093B5C */ if (_t329) goto L_02093B60; else goto L_02093B44;
|
|
L_02093B60: ; // 0x2093b60
|
|
/* 02093B60 */ goto L_02093B68;
|
|
L_02093B64: ; // 0x2093b64
|
|
/* 02093B64 */ cpu->r[31] = 0x00000000u;
|
|
L_02093B68: ; // 0x2093b68
|
|
/* 02093B68 */ _t330 = cpu->r[24] + 0x00000008u;
|
|
/* 02093B68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02093B6C */ _t331 = cpu->r[1] + 0x00000010u;
|
|
/* 02093B6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02093B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02093B74 */ _t332 = cpu->r[9] + 0x00000014u;
|
|
/* 02093B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t332);
|
|
/* 02093B78 */ _t333 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093B78 */ _t334 = _t333 & 0x00000001u;
|
|
/* 02093B78 */ if (_t334) goto L_02093B80; else goto L_02093B7C;
|
|
L_02093B7C: ; // 0x2093b7c
|
|
/* 02093B7C */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02093B80: ; // 0x2093b80
|
|
/* 02093B80 */ cpu->ctr = cpu->r[0];
|
|
/* 02093B84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093B8C */ _t335 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093B8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t335);
|
|
/* 02093B90 */ cpu->r[3] = cpu->r[23];
|
|
/* 02093B94 */ cpu->r[5] = cpu->r[31];
|
|
/* 02093B98 */ cpu->r[6] = 0x00000000u;
|
|
/* 02093B9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093BA0 */ _t336 = cpu->r[23] + cpu->r[31];
|
|
/* 02093BA0 */ rbrew_write8(cpu->mem, _t336, (uint8_t)cpu->r[26]);
|
|
/* 02093BA4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02093BA8 */ _t337 = cpu->r[1] + 0x00000028u;
|
|
/* 02093BA8 */ rbrew_write32(cpu->mem, _t337, cpu->r[29]);
|
|
/* 02093BAC */ cpu->r[11] = 0x02090000u;
|
|
/* 02093BB0 */ _t338 = cpu->r[1] + 0x00000020u;
|
|
/* 02093BB0 */ rbrew_write32(cpu->mem, _t338, cpu->r[29]);
|
|
/* 02093BB4 */ cpu->r[11] = cpu->r[11] + 0x00005BD0u;
|
|
/* 02093BB8 */ _t339 = cpu->r[1] + 0x00000016u;
|
|
/* 02093BB8 */ rbrew_write16(cpu->mem, _t339, (uint16_t)cpu->r[0]);
|
|
/* 02093BBC */ cpu->r[0] = 0x00000008u;
|
|
/* 02093BC0 */ _t340 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093BC0 */ rbrew_write16(cpu->mem, _t340, (uint16_t)cpu->r[29]);
|
|
/* 02093BC4 */ _t341 = cpu->r[1] + 0x00000014u;
|
|
/* 02093BC4 */ rbrew_write16(cpu->mem, _t341, (uint16_t)cpu->r[29]);
|
|
/* 02093BC8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093BCC */ _t342 = cpu->r[1] + 0x00000008u;
|
|
/* 02093BCC */ rbrew_write8(cpu->mem, _t342, (uint8_t)cpu->r[0]);
|
|
/* 02093BD0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093BD4 */ _t343 = cpu->r[1] + 0x00000018u;
|
|
/* 02093BD4 */ rbrew_write32(cpu->mem, _t343, cpu->r[11]);
|
|
/* 02093BD8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093BDC */ _t344 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093BDC */ rbrew_write16(cpu->mem, _t344, (uint16_t)cpu->r[29]);
|
|
/* 02093BE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093BE4 */ _t345 = cpu->r[1] + 0x00000026u;
|
|
/* 02093BE4 */ rbrew_write16(cpu->mem, _t345, (uint16_t)cpu->r[29]);
|
|
/* 02093BE8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093BEC */ _t346 = cpu->r[1] + 0x00000024u;
|
|
/* 02093BEC */ rbrew_write16(cpu->mem, _t346, (uint16_t)cpu->r[29]);
|
|
/* 02093BF0 */ Gambit_fn_02096994(cpu);
|
|
/* 02093BF4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02093BF8 */ _t347 = cpu->r[1] + 0x00000010u;
|
|
/* 02093BF8 */ rbrew_write32(cpu->mem, _t347, cpu->r[27]);
|
|
/* 02093BFC */ cpu->r[0] = cpu->r[0] + 0xFFFFEAF8u;
|
|
/* 02093C00 */ _t348 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093C00 */ rbrew_write32(cpu->mem, _t348, cpu->r[0]);
|
|
/* 02093C04 */ _t349 = cpu->r[28] + 0x00000014u;
|
|
/* 02093C04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t349);
|
|
/* 02093C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000009u);
|
|
/* 02093C0C */ _t350 = cpu->r[28] + 0x00000018u;
|
|
/* 02093C0C */ cpu->r[24] = rbrew_read32(cpu->mem, _t350);
|
|
/* 02093C10 */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093C10 */ _t352 = _t351 & 0x00000001u;
|
|
/* 02093C10 */ if (_t352) goto L_02093C14; else goto L_02093C18;
|
|
L_02093C14: ; // 0x2093c14
|
|
/* 02093C14 */ cpu->r[24] = cpu->r[24] + 0x00000144u;
|
|
L_02093C18: ; // 0x2093c18
|
|
/* 02093C18 */ cpu->ctr = cpu->r[25];
|
|
/* 02093C1C */ _t353 = cpu->r[24] + 0x00000000u;
|
|
/* 02093C1C */ cpu->r[23] = rbrew_read32(cpu->mem, _t353);
|
|
/* 02093C20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093C28 */ _t354 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093C28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t354);
|
|
/* 02093C2C */ _t355 = cpu->r[5] + 0x00000000u;
|
|
/* 02093C2C */ cpu->r[9] = rbrew_read8(cpu->mem, _t355);
|
|
/* 02093C30 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093C34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 02093C38 */ cpu->r[7] = 0x00080000u;
|
|
/* 02093C3C */ _t356 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093C3C */ _t357 = _t356 & 0x00000001u;
|
|
/* 02093C3C */ if (_t357) goto L_02093C64; else goto L_02093C40;
|
|
L_02093C40: ; // 0x2093c40
|
|
/* 02093C40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02093C48 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02093C4C */ _t358 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093C4C */ _t359 = _t358 & 0x00000001u;
|
|
/* 02093C4C */ if (_t359) goto L_02093C60; else goto L_02093C50;
|
|
L_02093C50: ; // 0x2093c50
|
|
/* 02093C50 */ _t360 = cpu->r[5] + 0x00000000u;
|
|
/* 02093C50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t360);
|
|
/* 02093C54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02093C58 */ _t361 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093C58 */ _t362 = _t361 & 0x00000001u;
|
|
/* 02093C58 */ if (_t362) goto L_02093C5C; else goto L_02093C40;
|
|
L_02093C5C: ; // 0x2093c5c
|
|
/* 02093C5C */ goto L_02093C64;
|
|
L_02093C60: ; // 0x2093c60
|
|
/* 02093C60 */ cpu->r[31] = 0x00000000u;
|
|
L_02093C64: ; // 0x2093c64
|
|
/* 02093C64 */ _t363 = cpu->r[24] + 0x00000008u;
|
|
/* 02093C64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t363);
|
|
/* 02093C68 */ _t364 = cpu->r[1] + 0x00000010u;
|
|
/* 02093C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t364);
|
|
/* 02093C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02093C70 */ _t365 = cpu->r[12] + 0x00000014u;
|
|
/* 02093C70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t365);
|
|
/* 02093C74 */ _t366 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093C74 */ _t367 = _t366 & 0x00000001u;
|
|
/* 02093C74 */ if (_t367) goto L_02093C7C; else goto L_02093C78;
|
|
L_02093C78: ; // 0x2093c78
|
|
/* 02093C78 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02093C7C: ; // 0x2093c7c
|
|
/* 02093C7C */ cpu->ctr = cpu->r[5];
|
|
/* 02093C80 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093C84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093C88 */ _t368 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093C88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t368);
|
|
/* 02093C8C */ cpu->r[3] = cpu->r[23];
|
|
/* 02093C90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02093C94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02093C98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093C9C */ _t369 = cpu->r[23] + cpu->r[31];
|
|
/* 02093C9C */ rbrew_write8(cpu->mem, _t369, (uint8_t)cpu->r[26]);
|
|
/* 02093CA0 */ cpu->r[0] = 0x02090000u;
|
|
/* 02093CA4 */ _t370 = cpu->r[1] + 0x00000020u;
|
|
/* 02093CA4 */ rbrew_write32(cpu->mem, _t370, cpu->r[29]);
|
|
/* 02093CA8 */ cpu->r[0] = cpu->r[0] + 0x00005E78u;
|
|
/* 02093CAC */ _t371 = cpu->r[1] + 0x00000024u;
|
|
/* 02093CAC */ rbrew_write16(cpu->mem, _t371, (uint16_t)cpu->r[29]);
|
|
/* 02093CB0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02093CB4 */ _t372 = cpu->r[1] + 0x00000018u;
|
|
/* 02093CB4 */ rbrew_write32(cpu->mem, _t372, cpu->r[0]);
|
|
/* 02093CB8 */ cpu->r[0] = 0x00000009u;
|
|
/* 02093CBC */ _t373 = cpu->r[1] + 0x00000016u;
|
|
/* 02093CBC */ rbrew_write16(cpu->mem, _t373, (uint16_t)cpu->r[5]);
|
|
/* 02093CC0 */ _t374 = cpu->r[1] + 0x00000008u;
|
|
/* 02093CC0 */ rbrew_write8(cpu->mem, _t374, (uint8_t)cpu->r[0]);
|
|
/* 02093CC4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093CC8 */ _t375 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093CC8 */ rbrew_write16(cpu->mem, _t375, (uint16_t)cpu->r[29]);
|
|
/* 02093CCC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093CD0 */ _t376 = cpu->r[1] + 0x00000014u;
|
|
/* 02093CD0 */ rbrew_write16(cpu->mem, _t376, (uint16_t)cpu->r[29]);
|
|
/* 02093CD4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093CD8 */ _t377 = cpu->r[1] + 0x00000026u;
|
|
/* 02093CD8 */ rbrew_write16(cpu->mem, _t377, (uint16_t)cpu->r[29]);
|
|
/* 02093CDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02093CE0 */ _t378 = cpu->r[1] + 0x00000028u;
|
|
/* 02093CE0 */ rbrew_write32(cpu->mem, _t378, cpu->r[29]);
|
|
/* 02093CE4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093CE8 */ _t379 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093CE8 */ rbrew_write16(cpu->mem, _t379, (uint16_t)cpu->r[29]);
|
|
/* 02093CEC */ Gambit_fn_02096994(cpu);
|
|
/* 02093CF0 */ cpu->r[10] = 0x10010000u;
|
|
/* 02093CF4 */ _t380 = cpu->r[1] + 0x00000010u;
|
|
/* 02093CF4 */ rbrew_write32(cpu->mem, _t380, cpu->r[27]);
|
|
/* 02093CF8 */ cpu->r[10] = cpu->r[10] + 0xFFFFEB14u;
|
|
/* 02093CFC */ _t381 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093CFC */ rbrew_write32(cpu->mem, _t381, cpu->r[10]);
|
|
/* 02093D00 */ _t382 = cpu->r[28] + 0x00000014u;
|
|
/* 02093D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t382);
|
|
/* 02093D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02093D08 */ _t383 = cpu->r[28] + 0x00000018u;
|
|
/* 02093D08 */ cpu->r[24] = rbrew_read32(cpu->mem, _t383);
|
|
/* 02093D0C */ _t384 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093D0C */ _t385 = _t384 & 0x00000001u;
|
|
/* 02093D0C */ if (_t385) goto L_02093D10; else goto L_02093D14;
|
|
L_02093D10: ; // 0x2093d10
|
|
/* 02093D10 */ cpu->r[24] = cpu->r[24] + 0x00000168u;
|
|
L_02093D14: ; // 0x2093d14
|
|
/* 02093D14 */ cpu->ctr = cpu->r[25];
|
|
/* 02093D18 */ _t386 = cpu->r[24] + 0x00000000u;
|
|
/* 02093D18 */ cpu->r[23] = rbrew_read32(cpu->mem, _t386);
|
|
/* 02093D1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093D20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093D24 */ _t387 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093D24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t387);
|
|
/* 02093D28 */ _t388 = cpu->r[11] + 0x00000000u;
|
|
/* 02093D28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t388);
|
|
/* 02093D2C */ cpu->r[31] = 0x00000000u;
|
|
/* 02093D30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[26]);
|
|
/* 02093D34 */ cpu->r[0] = 0x00080000u;
|
|
/* 02093D38 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093D38 */ _t390 = _t389 & 0x00000001u;
|
|
/* 02093D38 */ if (_t390) goto L_02093D60; else goto L_02093D3C;
|
|
L_02093D3C: ; // 0x2093d3c
|
|
/* 02093D3C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02093D44 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02093D48 */ _t391 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093D48 */ _t392 = _t391 & 0x00000001u;
|
|
/* 02093D48 */ if (_t392) goto L_02093D5C; else goto L_02093D4C;
|
|
L_02093D4C: ; // 0x2093d4c
|
|
/* 02093D4C */ _t393 = cpu->r[11] + 0x00000000u;
|
|
/* 02093D4C */ cpu->r[6] = rbrew_read8(cpu->mem, _t393);
|
|
/* 02093D50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02093D54 */ _t394 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093D54 */ _t395 = _t394 & 0x00000001u;
|
|
/* 02093D54 */ if (_t395) goto L_02093D58; else goto L_02093D3C;
|
|
L_02093D58: ; // 0x2093d58
|
|
/* 02093D58 */ goto L_02093D60;
|
|
L_02093D5C: ; // 0x2093d5c
|
|
/* 02093D5C */ cpu->r[31] = 0x00000000u;
|
|
L_02093D60: ; // 0x2093d60
|
|
/* 02093D60 */ _t396 = cpu->r[24] + 0x00000008u;
|
|
/* 02093D60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t396);
|
|
/* 02093D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02093D68 */ _t397 = cpu->r[1] + 0x00000010u;
|
|
/* 02093D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t397);
|
|
/* 02093D6C */ _t398 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093D6C */ _t399 = _t398 & 0x00000001u;
|
|
/* 02093D6C */ if (_t399) goto L_02093D74; else goto L_02093D70;
|
|
L_02093D70: ; // 0x2093d70
|
|
/* 02093D70 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02093D74: ; // 0x2093d74
|
|
/* 02093D74 */ _t400 = cpu->r[8] + 0x00000014u;
|
|
/* 02093D74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t400);
|
|
/* 02093D78 */ cpu->ctr = cpu->r[10];
|
|
/* 02093D7C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093D80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093D84 */ _t401 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093D84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t401);
|
|
/* 02093D88 */ cpu->r[6] = 0x00000000u;
|
|
/* 02093D8C */ cpu->r[5] = cpu->r[31];
|
|
/* 02093D90 */ cpu->r[3] = cpu->r[23];
|
|
/* 02093D94 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093D98 */ _t402 = cpu->r[23] + cpu->r[31];
|
|
/* 02093D98 */ rbrew_write8(cpu->mem, _t402, (uint8_t)cpu->r[26]);
|
|
/* 02093D9C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02093DA0 */ _t403 = cpu->r[1] + 0x00000020u;
|
|
/* 02093DA0 */ rbrew_write32(cpu->mem, _t403, cpu->r[29]);
|
|
/* 02093DA4 */ cpu->r[0] = 0x0000000Au;
|
|
/* 02093DA8 */ _t404 = cpu->r[1] + 0x00000016u;
|
|
/* 02093DA8 */ rbrew_write16(cpu->mem, _t404, (uint16_t)cpu->r[7]);
|
|
/* 02093DAC */ cpu->r[12] = 0x02090000u;
|
|
/* 02093DB0 */ _t405 = cpu->r[1] + 0x00000014u;
|
|
/* 02093DB0 */ rbrew_write16(cpu->mem, _t405, (uint16_t)cpu->r[29]);
|
|
/* 02093DB4 */ _t406 = cpu->r[1] + 0x00000008u;
|
|
/* 02093DB4 */ rbrew_write8(cpu->mem, _t406, (uint8_t)cpu->r[0]);
|
|
/* 02093DB8 */ cpu->r[12] = cpu->r[12] + 0x00005FB0u;
|
|
/* 02093DBC */ _t407 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093DBC */ rbrew_write16(cpu->mem, _t407, (uint16_t)cpu->r[29]);
|
|
/* 02093DC0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093DC4 */ _t408 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093DC4 */ rbrew_write16(cpu->mem, _t408, (uint16_t)cpu->r[29]);
|
|
/* 02093DC8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093DCC */ _t409 = cpu->r[1] + 0x00000018u;
|
|
/* 02093DCC */ rbrew_write32(cpu->mem, _t409, cpu->r[12]);
|
|
/* 02093DD0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093DD4 */ _t410 = cpu->r[1] + 0x00000024u;
|
|
/* 02093DD4 */ rbrew_write16(cpu->mem, _t410, (uint16_t)cpu->r[29]);
|
|
/* 02093DD8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093DDC */ _t411 = cpu->r[1] + 0x00000026u;
|
|
/* 02093DDC */ rbrew_write16(cpu->mem, _t411, (uint16_t)cpu->r[29]);
|
|
/* 02093DE0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093DE4 */ _t412 = cpu->r[1] + 0x00000028u;
|
|
/* 02093DE4 */ rbrew_write32(cpu->mem, _t412, cpu->r[29]);
|
|
/* 02093DE8 */ Gambit_fn_02096994(cpu);
|
|
/* 02093DEC */ cpu->r[4] = 0x10010000u;
|
|
/* 02093DF0 */ _t413 = cpu->r[1] + 0x00000010u;
|
|
/* 02093DF0 */ rbrew_write32(cpu->mem, _t413, cpu->r[27]);
|
|
/* 02093DF4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEA94u;
|
|
/* 02093DF8 */ _t414 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093DF8 */ rbrew_write32(cpu->mem, _t414, cpu->r[4]);
|
|
/* 02093DFC */ _t415 = cpu->r[28] + 0x00000014u;
|
|
/* 02093DFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t415);
|
|
/* 02093E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000000Bu);
|
|
/* 02093E04 */ _t416 = cpu->r[28] + 0x00000018u;
|
|
/* 02093E04 */ cpu->r[24] = rbrew_read32(cpu->mem, _t416);
|
|
/* 02093E08 */ _t417 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093E08 */ _t418 = _t417 & 0x00000001u;
|
|
/* 02093E08 */ if (_t418) goto L_02093E0C; else goto L_02093E10;
|
|
L_02093E0C: ; // 0x2093e0c
|
|
/* 02093E0C */ cpu->r[24] = cpu->r[24] + 0x0000018Cu;
|
|
L_02093E10: ; // 0x2093e10
|
|
/* 02093E10 */ cpu->ctr = cpu->r[25];
|
|
/* 02093E14 */ _t419 = cpu->r[24] + 0x00000000u;
|
|
/* 02093E14 */ cpu->r[23] = rbrew_read32(cpu->mem, _t419);
|
|
/* 02093E18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093E1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093E20 */ _t420 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093E20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t420);
|
|
/* 02093E24 */ _t421 = cpu->r[7] + 0x00000000u;
|
|
/* 02093E24 */ cpu->r[8] = rbrew_read8(cpu->mem, _t421);
|
|
/* 02093E28 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 02093E30 */ cpu->r[9] = 0x00080000u;
|
|
/* 02093E34 */ _t422 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093E34 */ _t423 = _t422 & 0x00000001u;
|
|
/* 02093E34 */ if (_t423) goto L_02093E5C; else goto L_02093E38;
|
|
L_02093E38: ; // 0x2093e38
|
|
/* 02093E38 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02093E40 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02093E44 */ _t424 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093E44 */ _t425 = _t424 & 0x00000001u;
|
|
/* 02093E44 */ if (_t425) goto L_02093E58; else goto L_02093E48;
|
|
L_02093E48: ; // 0x2093e48
|
|
/* 02093E48 */ _t426 = cpu->r[7] + 0x00000000u;
|
|
/* 02093E48 */ cpu->r[10] = rbrew_read8(cpu->mem, _t426);
|
|
/* 02093E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02093E50 */ _t427 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093E50 */ _t428 = _t427 & 0x00000001u;
|
|
/* 02093E50 */ if (_t428) goto L_02093E54; else goto L_02093E38;
|
|
L_02093E54: ; // 0x2093e54
|
|
/* 02093E54 */ goto L_02093E5C;
|
|
L_02093E58: ; // 0x2093e58
|
|
/* 02093E58 */ cpu->r[31] = 0x00000000u;
|
|
L_02093E5C: ; // 0x2093e5c
|
|
/* 02093E5C */ _t429 = cpu->r[24] + 0x00000008u;
|
|
/* 02093E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t429);
|
|
/* 02093E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02093E64 */ _t430 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093E64 */ _t431 = _t430 & 0x00000001u;
|
|
/* 02093E64 */ if (_t431) goto L_02093E6C; else goto L_02093E68;
|
|
L_02093E68: ; // 0x2093e68
|
|
/* 02093E68 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02093E6C: ; // 0x2093e6c
|
|
/* 02093E6C */ _t432 = cpu->r[1] + 0x00000010u;
|
|
/* 02093E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t432);
|
|
/* 02093E70 */ _t433 = cpu->r[12] + 0x00000014u;
|
|
/* 02093E70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t433);
|
|
/* 02093E74 */ cpu->ctr = cpu->r[4];
|
|
/* 02093E78 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093E80 */ _t434 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093E80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t434);
|
|
/* 02093E84 */ cpu->r[3] = cpu->r[23];
|
|
/* 02093E88 */ cpu->r[5] = cpu->r[31];
|
|
/* 02093E8C */ cpu->r[6] = 0x00000000u;
|
|
/* 02093E90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093E94 */ _t435 = cpu->r[23] + cpu->r[31];
|
|
/* 02093E94 */ rbrew_write8(cpu->mem, _t435, (uint8_t)cpu->r[26]);
|
|
/* 02093E98 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 02093E9C */ _t436 = cpu->r[1] + 0x00000014u;
|
|
/* 02093E9C */ rbrew_write16(cpu->mem, _t436, (uint16_t)cpu->r[29]);
|
|
/* 02093EA0 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02093EA4 */ _t437 = cpu->r[1] + 0x00000008u;
|
|
/* 02093EA4 */ rbrew_write8(cpu->mem, _t437, (uint8_t)cpu->r[0]);
|
|
/* 02093EA8 */ cpu->r[7] = 0x02090000u;
|
|
/* 02093EAC */ _t438 = cpu->r[1] + 0x00000016u;
|
|
/* 02093EAC */ rbrew_write16(cpu->mem, _t438, (uint16_t)cpu->r[9]);
|
|
/* 02093EB0 */ cpu->r[7] = cpu->r[7] + 0x000060D0u;
|
|
/* 02093EB4 */ _t439 = cpu->r[1] + 0x00000028u;
|
|
/* 02093EB4 */ rbrew_write32(cpu->mem, _t439, cpu->r[29]);
|
|
/* 02093EB8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093EBC */ _t440 = cpu->r[1] + 0x00000020u;
|
|
/* 02093EBC */ rbrew_write32(cpu->mem, _t440, cpu->r[29]);
|
|
/* 02093EC0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093EC4 */ _t441 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093EC4 */ rbrew_write16(cpu->mem, _t441, (uint16_t)cpu->r[29]);
|
|
/* 02093EC8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093ECC */ _t442 = cpu->r[1] + 0x00000018u;
|
|
/* 02093ECC */ rbrew_write32(cpu->mem, _t442, cpu->r[7]);
|
|
/* 02093ED0 */ _t443 = cpu->r[1] + 0x00000024u;
|
|
/* 02093ED0 */ rbrew_write16(cpu->mem, _t443, (uint16_t)cpu->r[29]);
|
|
/* 02093ED4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093ED8 */ _t444 = cpu->r[1] + 0x00000026u;
|
|
/* 02093ED8 */ rbrew_write16(cpu->mem, _t444, (uint16_t)cpu->r[29]);
|
|
/* 02093EDC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093EE0 */ _t445 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093EE0 */ rbrew_write16(cpu->mem, _t445, (uint16_t)cpu->r[29]);
|
|
/* 02093EE4 */ Gambit_fn_02096994(cpu);
|
|
/* 02093EE8 */ cpu->r[9] = 0x10010000u;
|
|
/* 02093EEC */ _t446 = cpu->r[1] + 0x00000010u;
|
|
/* 02093EEC */ rbrew_write32(cpu->mem, _t446, cpu->r[27]);
|
|
/* 02093EF0 */ cpu->r[9] = cpu->r[9] + 0xFFFFEBC0u;
|
|
/* 02093EF4 */ _t447 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093EF4 */ rbrew_write32(cpu->mem, _t447, cpu->r[9]);
|
|
/* 02093EF8 */ _t448 = cpu->r[28] + 0x00000014u;
|
|
/* 02093EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t448);
|
|
/* 02093EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Cu);
|
|
/* 02093F00 */ _t449 = cpu->r[28] + 0x00000018u;
|
|
/* 02093F00 */ cpu->r[24] = rbrew_read32(cpu->mem, _t449);
|
|
/* 02093F04 */ _t450 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093F04 */ _t451 = _t450 & 0x00000001u;
|
|
/* 02093F04 */ if (_t451) goto L_02093F08; else goto L_02093F0C;
|
|
L_02093F08: ; // 0x2093f08
|
|
/* 02093F08 */ cpu->r[24] = cpu->r[24] + 0x000001B0u;
|
|
L_02093F0C: ; // 0x2093f0c
|
|
/* 02093F0C */ cpu->ctr = cpu->r[25];
|
|
/* 02093F10 */ _t452 = cpu->r[24] + 0x00000000u;
|
|
/* 02093F10 */ cpu->r[23] = rbrew_read32(cpu->mem, _t452);
|
|
/* 02093F14 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093F1C */ _t453 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t453);
|
|
/* 02093F20 */ _t454 = cpu->r[12] + 0x00000000u;
|
|
/* 02093F20 */ cpu->r[4] = rbrew_read8(cpu->mem, _t454);
|
|
/* 02093F24 */ cpu->r[31] = 0x00000000u;
|
|
/* 02093F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
|
|
/* 02093F2C */ cpu->r[4] = 0x00080000u;
|
|
/* 02093F30 */ _t455 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093F30 */ _t456 = _t455 & 0x00000001u;
|
|
/* 02093F30 */ if (_t456) goto L_02093F58; else goto L_02093F34;
|
|
L_02093F34: ; // 0x2093f34
|
|
/* 02093F34 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02093F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 02093F3C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02093F40 */ _t457 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02093F40 */ _t458 = _t457 & 0x00000001u;
|
|
/* 02093F40 */ if (_t458) goto L_02093F54; else goto L_02093F44;
|
|
L_02093F44: ; // 0x2093f44
|
|
/* 02093F44 */ _t459 = cpu->r[12] + 0x00000000u;
|
|
/* 02093F44 */ cpu->r[7] = rbrew_read8(cpu->mem, _t459);
|
|
/* 02093F48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02093F4C */ _t460 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02093F4C */ _t461 = _t460 & 0x00000001u;
|
|
/* 02093F4C */ if (_t461) goto L_02093F50; else goto L_02093F34;
|
|
L_02093F50: ; // 0x2093f50
|
|
/* 02093F50 */ goto L_02093F58;
|
|
L_02093F54: ; // 0x2093f54
|
|
/* 02093F54 */ cpu->r[31] = 0x00000000u;
|
|
L_02093F58: ; // 0x2093f58
|
|
/* 02093F58 */ _t462 = cpu->r[24] + 0x00000008u;
|
|
/* 02093F58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t462);
|
|
/* 02093F5C */ _t463 = cpu->r[1] + 0x00000010u;
|
|
/* 02093F5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t463);
|
|
/* 02093F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 02093F64 */ _t464 = cpu->r[8] + 0x00000014u;
|
|
/* 02093F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t464);
|
|
/* 02093F68 */ _t465 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02093F68 */ _t466 = _t465 & 0x00000001u;
|
|
/* 02093F68 */ if (_t466) goto L_02093F70; else goto L_02093F6C;
|
|
L_02093F6C: ; // 0x2093f6c
|
|
/* 02093F6C */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02093F70: ; // 0x2093f70
|
|
/* 02093F70 */ cpu->ctr = cpu->r[0];
|
|
/* 02093F74 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093F78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02093F7C */ _t467 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093F7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t467);
|
|
/* 02093F80 */ cpu->r[3] = cpu->r[23];
|
|
/* 02093F84 */ cpu->r[5] = cpu->r[31];
|
|
/* 02093F88 */ cpu->r[6] = 0x00000000u;
|
|
/* 02093F8C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02093F90 */ _t468 = cpu->r[23] + cpu->r[31];
|
|
/* 02093F90 */ rbrew_write8(cpu->mem, _t468, (uint8_t)cpu->r[26]);
|
|
/* 02093F94 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02093F98 */ _t469 = cpu->r[1] + 0x00000028u;
|
|
/* 02093F98 */ rbrew_write32(cpu->mem, _t469, cpu->r[29]);
|
|
/* 02093F9C */ cpu->r[12] = 0x02090000u;
|
|
/* 02093FA0 */ _t470 = cpu->r[1] + 0x00000020u;
|
|
/* 02093FA0 */ rbrew_write32(cpu->mem, _t470, cpu->r[29]);
|
|
/* 02093FA4 */ cpu->r[12] = cpu->r[12] + 0x000062A4u;
|
|
/* 02093FA8 */ _t471 = cpu->r[1] + 0x00000016u;
|
|
/* 02093FA8 */ rbrew_write16(cpu->mem, _t471, (uint16_t)cpu->r[0]);
|
|
/* 02093FAC */ cpu->r[0] = 0x0000000Cu;
|
|
/* 02093FB0 */ _t472 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093FB0 */ rbrew_write16(cpu->mem, _t472, (uint16_t)cpu->r[29]);
|
|
/* 02093FB4 */ _t473 = cpu->r[1] + 0x00000014u;
|
|
/* 02093FB4 */ rbrew_write16(cpu->mem, _t473, (uint16_t)cpu->r[29]);
|
|
/* 02093FB8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02093FBC */ _t474 = cpu->r[1] + 0x00000008u;
|
|
/* 02093FBC */ rbrew_write8(cpu->mem, _t474, (uint8_t)cpu->r[0]);
|
|
/* 02093FC0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02093FC4 */ _t475 = cpu->r[1] + 0x00000018u;
|
|
/* 02093FC4 */ rbrew_write32(cpu->mem, _t475, cpu->r[12]);
|
|
/* 02093FC8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02093FCC */ _t476 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02093FCC */ rbrew_write16(cpu->mem, _t476, (uint16_t)cpu->r[29]);
|
|
/* 02093FD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02093FD4 */ _t477 = cpu->r[1] + 0x00000026u;
|
|
/* 02093FD4 */ rbrew_write16(cpu->mem, _t477, (uint16_t)cpu->r[29]);
|
|
/* 02093FD8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02093FDC */ _t478 = cpu->r[1] + 0x00000024u;
|
|
/* 02093FDC */ rbrew_write16(cpu->mem, _t478, (uint16_t)cpu->r[29]);
|
|
/* 02093FE0 */ Gambit_fn_02096994(cpu);
|
|
/* 02093FE4 */ cpu->r[6] = 0x10010000u;
|
|
/* 02093FE8 */ _t479 = cpu->r[1] + 0x00000010u;
|
|
/* 02093FE8 */ rbrew_write32(cpu->mem, _t479, cpu->r[27]);
|
|
/* 02093FEC */ cpu->r[6] = cpu->r[6] + 0xFFFFEAA8u;
|
|
/* 02093FF0 */ _t480 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02093FF0 */ rbrew_write32(cpu->mem, _t480, cpu->r[6]);
|
|
/* 02093FF4 */ _t481 = cpu->r[28] + 0x00000014u;
|
|
/* 02093FF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t481);
|
|
/* 02093FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000000Du);
|
|
/* 02093FFC */ _t482 = cpu->r[28] + 0x00000018u;
|
|
/* 02093FFC */ cpu->r[24] = rbrew_read32(cpu->mem, _t482);
|
|
/* 02094000 */ _t483 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02094000 */ _t484 = _t483 & 0x00000001u;
|
|
/* 02094000 */ if (_t484) goto L_02094004; else goto L_02094008;
|
|
L_02094004: ; // 0x2094004
|
|
/* 02094004 */ cpu->r[24] = cpu->r[24] + 0x000001D4u;
|
|
L_02094008: ; // 0x2094008
|
|
/* 02094008 */ cpu->ctr = cpu->r[25];
|
|
/* 0209400C */ _t485 = cpu->r[24] + 0x00000000u;
|
|
/* 0209400C */ cpu->r[23] = rbrew_read32(cpu->mem, _t485);
|
|
/* 02094010 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094018 */ _t486 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094018 */ cpu->r[8] = rbrew_read32(cpu->mem, _t486);
|
|
/* 0209401C */ _t487 = cpu->r[8] + 0x00000000u;
|
|
/* 0209401C */ cpu->r[10] = rbrew_read8(cpu->mem, _t487);
|
|
/* 02094020 */ cpu->r[31] = 0x00000000u;
|
|
/* 02094024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02094028 */ cpu->r[9] = 0x00080000u;
|
|
/* 0209402C */ _t488 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209402C */ _t489 = _t488 & 0x00000001u;
|
|
/* 0209402C */ if (_t489) goto L_02094054; else goto L_02094030;
|
|
L_02094030: ; // 0x2094030
|
|
/* 02094030 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02094034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02094038 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0209403C */ _t490 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209403C */ _t491 = _t490 & 0x00000001u;
|
|
/* 0209403C */ if (_t491) goto L_02094050; else goto L_02094040;
|
|
L_02094040: ; // 0x2094040
|
|
/* 02094040 */ _t492 = cpu->r[8] + 0x00000000u;
|
|
/* 02094040 */ cpu->r[0] = rbrew_read8(cpu->mem, _t492);
|
|
/* 02094044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02094048 */ _t493 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094048 */ _t494 = _t493 & 0x00000001u;
|
|
/* 02094048 */ if (_t494) goto L_0209404C; else goto L_02094030;
|
|
L_0209404C: ; // 0x209404c
|
|
/* 0209404C */ goto L_02094054;
|
|
L_02094050: ; // 0x2094050
|
|
/* 02094050 */ cpu->r[31] = 0x00000000u;
|
|
L_02094054: ; // 0x2094054
|
|
/* 02094054 */ _t495 = cpu->r[24] + 0x00000008u;
|
|
/* 02094054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t495);
|
|
/* 02094058 */ _t496 = cpu->r[1] + 0x00000010u;
|
|
/* 02094058 */ cpu->r[4] = rbrew_read32(cpu->mem, _t496);
|
|
/* 0209405C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02094060 */ _t497 = cpu->r[4] + 0x00000014u;
|
|
/* 02094060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t497);
|
|
/* 02094064 */ _t498 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094064 */ _t499 = _t498 & 0x00000001u;
|
|
/* 02094064 */ if (_t499) goto L_0209406C; else goto L_02094068;
|
|
L_02094068: ; // 0x2094068
|
|
/* 02094068 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0209406C: ; // 0x209406c
|
|
/* 0209406C */ cpu->ctr = cpu->r[0];
|
|
/* 02094070 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094074 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094078 */ _t500 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t500);
|
|
/* 0209407C */ cpu->r[3] = cpu->r[23];
|
|
/* 02094080 */ cpu->r[5] = cpu->r[31];
|
|
/* 02094084 */ cpu->r[6] = 0x00000000u;
|
|
/* 02094088 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209408C */ _t501 = cpu->r[23] + cpu->r[31];
|
|
/* 0209408C */ rbrew_write8(cpu->mem, _t501, (uint8_t)cpu->r[26]);
|
|
/* 02094090 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02094094 */ _t502 = cpu->r[1] + 0x00000028u;
|
|
/* 02094094 */ rbrew_write32(cpu->mem, _t502, cpu->r[29]);
|
|
/* 02094098 */ cpu->r[8] = 0x02090000u;
|
|
/* 0209409C */ _t503 = cpu->r[1] + 0x00000020u;
|
|
/* 0209409C */ rbrew_write32(cpu->mem, _t503, cpu->r[29]);
|
|
/* 020940A0 */ cpu->r[8] = cpu->r[8] + 0x000066DCu;
|
|
/* 020940A4 */ _t504 = cpu->r[1] + 0x00000016u;
|
|
/* 020940A4 */ rbrew_write16(cpu->mem, _t504, (uint16_t)cpu->r[0]);
|
|
/* 020940A8 */ cpu->r[0] = 0x0000000Du;
|
|
/* 020940AC */ _t505 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020940AC */ rbrew_write16(cpu->mem, _t505, (uint16_t)cpu->r[29]);
|
|
/* 020940B0 */ _t506 = cpu->r[1] + 0x00000014u;
|
|
/* 020940B0 */ rbrew_write16(cpu->mem, _t506, (uint16_t)cpu->r[29]);
|
|
/* 020940B4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020940B8 */ _t507 = cpu->r[1] + 0x00000008u;
|
|
/* 020940B8 */ rbrew_write8(cpu->mem, _t507, (uint8_t)cpu->r[0]);
|
|
/* 020940BC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020940C0 */ _t508 = cpu->r[1] + 0x00000018u;
|
|
/* 020940C0 */ rbrew_write32(cpu->mem, _t508, cpu->r[8]);
|
|
/* 020940C4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020940C8 */ _t509 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020940C8 */ rbrew_write16(cpu->mem, _t509, (uint16_t)cpu->r[29]);
|
|
/* 020940CC */ cpu->r[3] = cpu->r[28];
|
|
/* 020940D0 */ _t510 = cpu->r[1] + 0x00000026u;
|
|
/* 020940D0 */ rbrew_write16(cpu->mem, _t510, (uint16_t)cpu->r[29]);
|
|
/* 020940D4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020940D8 */ _t511 = cpu->r[1] + 0x00000024u;
|
|
/* 020940D8 */ rbrew_write16(cpu->mem, _t511, (uint16_t)cpu->r[29]);
|
|
/* 020940DC */ Gambit_fn_02096994(cpu);
|
|
/* 020940E0 */ cpu->r[12] = 0x10010000u;
|
|
/* 020940E4 */ _t512 = cpu->r[1] + 0x00000010u;
|
|
/* 020940E4 */ rbrew_write32(cpu->mem, _t512, cpu->r[27]);
|
|
/* 020940E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFEABCu;
|
|
/* 020940EC */ _t513 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020940EC */ rbrew_write32(cpu->mem, _t513, cpu->r[12]);
|
|
/* 020940F0 */ _t514 = cpu->r[28] + 0x00000014u;
|
|
/* 020940F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t514);
|
|
/* 020940F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Eu);
|
|
/* 020940F8 */ _t515 = cpu->r[28] + 0x00000018u;
|
|
/* 020940F8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t515);
|
|
/* 020940FC */ _t516 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020940FC */ _t517 = _t516 & 0x00000001u;
|
|
/* 020940FC */ if (_t517) goto L_02094100; else goto L_02094104;
|
|
L_02094100: ; // 0x2094100
|
|
/* 02094100 */ cpu->r[24] = cpu->r[24] + 0x000001F8u;
|
|
L_02094104: ; // 0x2094104
|
|
/* 02094104 */ cpu->ctr = cpu->r[25];
|
|
/* 02094108 */ _t518 = cpu->r[24] + 0x00000000u;
|
|
/* 02094108 */ cpu->r[23] = rbrew_read32(cpu->mem, _t518);
|
|
/* 0209410C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094114 */ _t519 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094114 */ cpu->r[4] = rbrew_read32(cpu->mem, _t519);
|
|
/* 02094118 */ _t520 = cpu->r[4] + 0x00000000u;
|
|
/* 02094118 */ cpu->r[7] = rbrew_read8(cpu->mem, _t520);
|
|
/* 0209411C */ cpu->r[31] = 0x00000000u;
|
|
/* 02094120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02094124 */ cpu->r[6] = 0x00080000u;
|
|
/* 02094128 */ _t521 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094128 */ _t522 = _t521 & 0x00000001u;
|
|
/* 02094128 */ if (_t522) goto L_02094150; else goto L_0209412C;
|
|
L_0209412C: ; // 0x209412c
|
|
/* 0209412C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02094130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02094134 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02094138 */ _t523 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02094138 */ _t524 = _t523 & 0x00000001u;
|
|
/* 02094138 */ if (_t524) goto L_0209414C; else goto L_0209413C;
|
|
L_0209413C: ; // 0x209413c
|
|
/* 0209413C */ _t525 = cpu->r[4] + 0x00000000u;
|
|
/* 0209413C */ cpu->r[8] = rbrew_read8(cpu->mem, _t525);
|
|
/* 02094140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 02094144 */ _t526 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094144 */ _t527 = _t526 & 0x00000001u;
|
|
/* 02094144 */ if (_t527) goto L_02094148; else goto L_0209412C;
|
|
L_02094148: ; // 0x2094148
|
|
/* 02094148 */ goto L_02094150;
|
|
L_0209414C: ; // 0x209414c
|
|
/* 0209414C */ cpu->r[31] = 0x00000000u;
|
|
L_02094150: ; // 0x2094150
|
|
/* 02094150 */ _t528 = cpu->r[24] + 0x00000008u;
|
|
/* 02094150 */ cpu->r[6] = rbrew_read32(cpu->mem, _t528);
|
|
/* 02094154 */ _t529 = cpu->r[1] + 0x00000010u;
|
|
/* 02094154 */ cpu->r[9] = rbrew_read32(cpu->mem, _t529);
|
|
/* 02094158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0209415C */ _t530 = cpu->r[9] + 0x00000014u;
|
|
/* 0209415C */ cpu->r[0] = rbrew_read32(cpu->mem, _t530);
|
|
/* 02094160 */ _t531 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094160 */ _t532 = _t531 & 0x00000001u;
|
|
/* 02094160 */ if (_t532) goto L_02094168; else goto L_02094164;
|
|
L_02094164: ; // 0x2094164
|
|
/* 02094164 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02094168: ; // 0x2094168
|
|
/* 02094168 */ cpu->ctr = cpu->r[0];
|
|
/* 0209416C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094174 */ _t533 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094174 */ cpu->r[4] = rbrew_read32(cpu->mem, _t533);
|
|
/* 02094178 */ cpu->r[3] = cpu->r[23];
|
|
/* 0209417C */ cpu->r[5] = cpu->r[31];
|
|
/* 02094180 */ cpu->r[6] = 0x00000000u;
|
|
/* 02094184 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02094188 */ _t534 = cpu->r[23] + cpu->r[31];
|
|
/* 02094188 */ rbrew_write8(cpu->mem, _t534, (uint8_t)cpu->r[26]);
|
|
/* 0209418C */ cpu->r[0] = 0x0000000Eu;
|
|
/* 02094190 */ _t535 = cpu->r[1] + 0x00000028u;
|
|
/* 02094190 */ rbrew_write32(cpu->mem, _t535, cpu->r[29]);
|
|
/* 02094194 */ cpu->r[4] = 0x02090000u;
|
|
/* 02094198 */ _t536 = cpu->r[1] + 0x00000008u;
|
|
/* 02094198 */ rbrew_write8(cpu->mem, _t536, (uint8_t)cpu->r[0]);
|
|
/* 0209419C */ cpu->r[4] = cpu->r[4] + 0x000066E0u;
|
|
/* 020941A0 */ _t537 = cpu->r[1] + 0x00000020u;
|
|
/* 020941A0 */ rbrew_write32(cpu->mem, _t537, cpu->r[29]);
|
|
/* 020941A4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 020941A8 */ _t538 = cpu->r[1] + 0x00000018u;
|
|
/* 020941A8 */ rbrew_write32(cpu->mem, _t538, cpu->r[4]);
|
|
/* 020941AC */ _t539 = cpu->r[1] + 0x00000014u;
|
|
/* 020941AC */ rbrew_write16(cpu->mem, _t539, (uint16_t)cpu->r[29]);
|
|
/* 020941B0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020941B4 */ _t540 = cpu->r[1] + 0x00000016u;
|
|
/* 020941B4 */ rbrew_write16(cpu->mem, _t540, (uint16_t)cpu->r[5]);
|
|
/* 020941B8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020941BC */ _t541 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020941BC */ rbrew_write16(cpu->mem, _t541, (uint16_t)cpu->r[29]);
|
|
/* 020941C0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020941C4 */ _t542 = cpu->r[1] + 0x00000024u;
|
|
/* 020941C4 */ rbrew_write16(cpu->mem, _t542, (uint16_t)cpu->r[29]);
|
|
/* 020941C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 020941CC */ _t543 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020941CC */ rbrew_write16(cpu->mem, _t543, (uint16_t)cpu->r[29]);
|
|
/* 020941D0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020941D4 */ _t544 = cpu->r[1] + 0x00000026u;
|
|
/* 020941D4 */ rbrew_write16(cpu->mem, _t544, (uint16_t)cpu->r[29]);
|
|
/* 020941D8 */ Gambit_fn_02096994(cpu);
|
|
/* 020941DC */ cpu->r[8] = 0x10010000u;
|
|
/* 020941E0 */ _t545 = cpu->r[1] + 0x00000010u;
|
|
/* 020941E0 */ rbrew_write32(cpu->mem, _t545, cpu->r[27]);
|
|
/* 020941E4 */ cpu->r[8] = cpu->r[8] + 0xFFFFEA70u;
|
|
/* 020941E8 */ _t546 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020941E8 */ rbrew_write32(cpu->mem, _t546, cpu->r[8]);
|
|
/* 020941EC */ _t547 = cpu->r[28] + 0x00000014u;
|
|
/* 020941EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t547);
|
|
/* 020941F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Fu);
|
|
/* 020941F4 */ _t548 = cpu->r[28] + 0x00000018u;
|
|
/* 020941F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t548);
|
|
/* 020941F8 */ _t549 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020941F8 */ _t550 = _t549 & 0x00000001u;
|
|
/* 020941F8 */ if (_t550) goto L_020941FC; else goto L_02094200;
|
|
L_020941FC: ; // 0x20941fc
|
|
/* 020941FC */ cpu->r[31] = cpu->r[31] + 0x0000021Cu;
|
|
L_02094200: ; // 0x2094200
|
|
/* 02094200 */ cpu->ctr = cpu->r[25];
|
|
/* 02094204 */ _t551 = cpu->r[31] + 0x00000000u;
|
|
/* 02094204 */ cpu->r[24] = rbrew_read32(cpu->mem, _t551);
|
|
/* 02094208 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209420C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094210 */ _t552 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t552);
|
|
/* 02094214 */ _t553 = cpu->r[8] + 0x00000000u;
|
|
/* 02094214 */ cpu->r[0] = rbrew_read8(cpu->mem, _t553);
|
|
/* 02094218 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209421C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02094220 */ cpu->r[10] = 0x00080000u;
|
|
/* 02094224 */ _t554 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094224 */ _t555 = _t554 & 0x00000001u;
|
|
/* 02094224 */ if (_t555) goto L_0209424C; else goto L_02094228;
|
|
L_02094228: ; // 0x2094228
|
|
/* 02094228 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0209422C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]);
|
|
/* 02094230 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02094234 */ _t556 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02094234 */ _t557 = _t556 & 0x00000001u;
|
|
/* 02094234 */ if (_t557) goto L_02094248; else goto L_02094238;
|
|
L_02094238: ; // 0x2094238
|
|
/* 02094238 */ _t558 = cpu->r[8] + 0x00000000u;
|
|
/* 02094238 */ cpu->r[5] = rbrew_read8(cpu->mem, _t558);
|
|
/* 0209423C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[26]);
|
|
/* 02094240 */ _t559 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094240 */ _t560 = _t559 & 0x00000001u;
|
|
/* 02094240 */ if (_t560) goto L_02094244; else goto L_02094228;
|
|
L_02094244: ; // 0x2094244
|
|
/* 02094244 */ goto L_0209424C;
|
|
L_02094248: ; // 0x2094248
|
|
/* 02094248 */ cpu->r[27] = 0x00000000u;
|
|
L_0209424C: ; // 0x209424c
|
|
/* 0209424C */ _t561 = cpu->r[31] + 0x00000008u;
|
|
/* 0209424C */ cpu->r[7] = rbrew_read32(cpu->mem, _t561);
|
|
/* 02094250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 02094254 */ _t562 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094254 */ _t563 = _t562 & 0x00000001u;
|
|
/* 02094254 */ if (_t563) goto L_0209425C; else goto L_02094258;
|
|
L_02094258: ; // 0x2094258
|
|
/* 02094258 */ cpu->r[27] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209425C: ; // 0x209425c
|
|
/* 0209425C */ _t564 = cpu->r[1] + 0x00000010u;
|
|
/* 0209425C */ cpu->r[7] = rbrew_read32(cpu->mem, _t564);
|
|
/* 02094260 */ _t565 = cpu->r[7] + 0x00000014u;
|
|
/* 02094260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t565);
|
|
/* 02094264 */ cpu->ctr = cpu->r[0];
|
|
/* 02094268 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209426C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094270 */ _t566 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094270 */ cpu->r[4] = rbrew_read32(cpu->mem, _t566);
|
|
/* 02094274 */ cpu->r[6] = 0x00000000u;
|
|
/* 02094278 */ cpu->r[5] = cpu->r[27];
|
|
/* 0209427C */ cpu->r[3] = cpu->r[24];
|
|
/* 02094280 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02094284 */ _t567 = cpu->r[24] + cpu->r[27];
|
|
/* 02094284 */ rbrew_write8(cpu->mem, _t567, (uint8_t)cpu->r[26]);
|
|
/* 02094288 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209428C */ _t568 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209428C */ rbrew_write16(cpu->mem, _t568, (uint16_t)cpu->r[29]);
|
|
/* 02094290 */ cpu->r[11] = 0x02090000u;
|
|
/* 02094294 */ _t569 = cpu->r[1] + 0x00000020u;
|
|
/* 02094294 */ rbrew_write32(cpu->mem, _t569, cpu->r[29]);
|
|
/* 02094298 */ cpu->r[11] = cpu->r[11] + 0x000063DCu;
|
|
/* 0209429C */ _t570 = cpu->r[1] + 0x00000016u;
|
|
/* 0209429C */ rbrew_write16(cpu->mem, _t570, (uint16_t)cpu->r[0]);
|
|
/* 020942A0 */ cpu->r[0] = 0x0000000Fu;
|
|
/* 020942A4 */ _t571 = cpu->r[1] + 0x0000001Eu;
|
|
/* 020942A4 */ rbrew_write16(cpu->mem, _t571, (uint16_t)cpu->r[29]);
|
|
/* 020942A8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020942AC */ _t572 = cpu->r[1] + 0x00000014u;
|
|
/* 020942AC */ rbrew_write16(cpu->mem, _t572, (uint16_t)cpu->r[29]);
|
|
/* 020942B0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 020942B4 */ _t573 = cpu->r[1] + 0x00000018u;
|
|
/* 020942B4 */ rbrew_write32(cpu->mem, _t573, cpu->r[11]);
|
|
/* 020942B8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 020942BC */ _t574 = cpu->r[1] + 0x00000024u;
|
|
/* 020942BC */ rbrew_write16(cpu->mem, _t574, (uint16_t)cpu->r[29]);
|
|
/* 020942C0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 020942C4 */ _t575 = cpu->r[1] + 0x00000008u;
|
|
/* 020942C4 */ rbrew_write8(cpu->mem, _t575, (uint8_t)cpu->r[0]);
|
|
/* 020942C8 */ _t576 = cpu->r[1] + 0x00000026u;
|
|
/* 020942C8 */ rbrew_write16(cpu->mem, _t576, (uint16_t)cpu->r[29]);
|
|
/* 020942CC */ cpu->r[3] = cpu->r[28];
|
|
/* 020942D0 */ _t577 = cpu->r[1] + 0x00000028u;
|
|
/* 020942D0 */ rbrew_write32(cpu->mem, _t577, cpu->r[29]);
|
|
/* 020942D4 */ Gambit_fn_02096994(cpu);
|
|
/* 020942D8 */ _t578 = cpu->r[30] + 0x000001B8u;
|
|
/* 020942D8 */ rbrew_write32(cpu->mem, _t578, cpu->r[28]);
|
|
/* 020942DC */ _t579 = cpu->r[28] + 0x0000000Eu;
|
|
/* 020942DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t579);
|
|
/* 020942E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 020942E4 */ /* nop */
|
|
/* 020942E8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 020942EC */ cpu->r[3] = cpu->r[28];
|
|
/* 020942F0 */ Gambit_fn_02090018(cpu);
|
|
/* 020942F4 */ cpu->r[4] = 0x00000010u;
|
|
/* 020942F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020942FC */ Gambit_fn_02068B6C(cpu);
|
|
L_02094300: ; // 0x2094300
|
|
/* 02094300 */ cpu->r[3] = cpu->r[30];
|
|
/* 02094304 */ /* nop */
|
|
/* 02094308 */ _t580 = cpu->r[1] + 0x00000054u;
|
|
/* 02094308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t580);
|
|
/* 0209430C */ cpu->lr = cpu->r[0];
|
|
/* 02094310 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02094314 */ return;
|
|
}
|
|
|
|
// fn_02094318 @ 0x2094318
|
|
void Gambit_fn_02094318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02094318: ; // 0x2094318
|
|
/* 02094318 */ cpu->r[0] = cpu->lr;
|
|
/* 0209431C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209431C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209431C */ cpu->r[1] = _t0;
|
|
/* 02094320 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02094320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094324 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094328 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209432C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209432C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02094330 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094330 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02094334 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 02094334 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02094338 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209433C */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0209433C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02094340 */ _t6 = cpu->r[11] + 0x00000084u;
|
|
/* 02094340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02094344 */ cpu->ctr = cpu->r[12];
|
|
/* 02094348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209434C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094350 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094354 */ Gambit_fn_0206A274(cpu);
|
|
/* 02094358 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209435C */ cpu->r[3] = cpu->r[31];
|
|
/* 02094360 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094364 */ cpu->r[30] = cpu->r[30] + 0xFFFFE99Cu;
|
|
/* 02094368 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209436C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBD8u;
|
|
/* 02094370 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094370 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02094374 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094378 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02094378 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209437C */ Gambit_fn_027ED798(cpu);
|
|
/* 02094380 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094384 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094388 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094388 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0209438C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBDCu;
|
|
/* 02094390 */ cpu->r[4] = 0x00000001u;
|
|
/* 02094394 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094398 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02094398 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209439C */ Gambit_fn_027ED798(cpu);
|
|
/* 020943A0 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020943A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 020943A8 */ Gambit_fn_02090220(cpu);
|
|
/* 020943AC */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 020943AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020943B0 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020943B4 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020943B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020943B8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 020943B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020943BC */ cpu->lr = cpu->r[0];
|
|
/* 020943C0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 020943C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020943C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020943C8 */ return;
|
|
}
|
|
|
|
// fn_0209431C @ 0x209431c
|
|
void Gambit_fn_0209431C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0209431C: ; // 0x209431c
|
|
/* 0209431C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209431C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209431C */ cpu->r[1] = _t0;
|
|
/* 02094320 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02094320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094324 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094328 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209432C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209432C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02094330 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094330 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02094334 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 02094334 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02094338 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209433C */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0209433C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02094340 */ _t6 = cpu->r[11] + 0x00000084u;
|
|
/* 02094340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02094344 */ cpu->ctr = cpu->r[12];
|
|
/* 02094348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209434C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094350 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094354 */ Gambit_fn_0206A274(cpu);
|
|
/* 02094358 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209435C */ cpu->r[3] = cpu->r[31];
|
|
/* 02094360 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094364 */ cpu->r[30] = cpu->r[30] + 0xFFFFE99Cu;
|
|
/* 02094368 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209436C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBD8u;
|
|
/* 02094370 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094370 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02094374 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094378 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02094378 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209437C */ Gambit_fn_027ED798(cpu);
|
|
/* 02094380 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094384 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094388 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094388 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0209438C */ cpu->r[0] = cpu->r[0] + 0xFFFFEBDCu;
|
|
/* 02094390 */ cpu->r[4] = 0x00000001u;
|
|
/* 02094394 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094398 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02094398 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209439C */ Gambit_fn_027ED798(cpu);
|
|
/* 020943A0 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020943A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 020943A8 */ Gambit_fn_02090220(cpu);
|
|
/* 020943AC */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 020943AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020943B0 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020943B4 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020943B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020943B8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 020943B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020943BC */ cpu->lr = cpu->r[0];
|
|
/* 020943C0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 020943C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020943C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020943C8 */ return;
|
|
}
|
|
|
|
// fn_020943CC @ 0x20943cc
|
|
void Gambit_fn_020943CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_020943CC: ; // 0x20943cc
|
|
/* 020943CC */ _t0 = cpu->r[3] + 0x000001E8u;
|
|
/* 020943CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 020943D0 */ /* nop */
|
|
/* 020943D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 020943D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 020943DC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020943DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 020943DC */ if (_t2) goto L_020943F8; else goto L_020943E0;
|
|
L_020943E0: ; // 0x20943e0
|
|
/* 020943E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000005u);
|
|
/* 020943E4 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020943E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 020943E4 */ if (_t4) goto L_020943E8; else goto L_020943FC;
|
|
L_020943E8: ; // 0x20943e8
|
|
/* 020943E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000007u);
|
|
/* 020943EC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020943EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 020943EC */ if (_t6) goto L_020943F8; else goto L_020943F0;
|
|
L_020943F0: ; // 0x20943f0
|
|
/* 020943F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Cu);
|
|
/* 020943F4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020943F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020943F4 */ if (_t8) goto L_020943F8; else goto L_020943FC;
|
|
L_020943F8: ; // 0x20943f8
|
|
/* 020943F8 */ cpu->r[0] = 0x00000000u;
|
|
L_020943FC: ; // 0x20943fc
|
|
/* 020943FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02094400 */ return;
|
|
}
|
|
|
|
// fn_02094404 @ 0x2094404
|
|
void Gambit_fn_02094404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02094404: ; // 0x2094404
|
|
/* 02094404 */ cpu->r[0] = cpu->lr;
|
|
/* 02094408 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094408 */ cpu->r[1] = _t0;
|
|
/* 0209440C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209440C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094414 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02094418 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094418 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209441C */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209441C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02094420 */ Gambit_fn_0206C030(cpu);
|
|
/* 02094424 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02094424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02094428 */ _t5 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02094428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209442C */ cpu->ctr = cpu->r[0];
|
|
/* 02094430 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094434 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094438 */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209443C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02094440 */ cpu->r[4] = 0x0000000Fu;
|
|
/* 02094444 */ Gambit_fn_02090220(cpu);
|
|
/* 02094448 */ _t6 = cpu->r[31] + 0x000001ACu;
|
|
/* 02094448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209444C */ Gambit_fn_027BB1DC(cpu);
|
|
/* 02094450 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02094450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02094454 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094458 */ cpu->lr = cpu->r[0];
|
|
/* 0209445C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094460 */ return;
|
|
}
|
|
|
|
// fn_02094408 @ 0x2094408
|
|
void Gambit_fn_02094408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02094408: ; // 0x2094408
|
|
/* 02094408 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094408 */ cpu->r[1] = _t0;
|
|
/* 0209440C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209440C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094414 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02094418 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094418 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209441C */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209441C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02094420 */ Gambit_fn_0206C030(cpu);
|
|
/* 02094424 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02094424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02094428 */ _t5 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02094428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209442C */ cpu->ctr = cpu->r[0];
|
|
/* 02094430 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094434 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094438 */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209443C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02094440 */ cpu->r[4] = 0x0000000Fu;
|
|
/* 02094444 */ Gambit_fn_02090220(cpu);
|
|
/* 02094448 */ _t6 = cpu->r[31] + 0x000001ACu;
|
|
/* 02094448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209444C */ Gambit_fn_027BB1DC(cpu);
|
|
/* 02094450 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02094450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02094454 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094458 */ cpu->lr = cpu->r[0];
|
|
/* 0209445C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094460 */ return;
|
|
}
|
|
|
|
// fn_02094464 @ 0x2094464
|
|
void Gambit_fn_02094464(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02094464: ; // 0x2094464
|
|
/* 02094464 */ cpu->r[0] = cpu->lr;
|
|
/* 02094468 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094468 */ cpu->r[1] = _t0;
|
|
/* 0209446C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209446C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094470 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094474 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094474 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094478 */ _t3 = cpu->r[31] + 0x00000118u;
|
|
/* 02094478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209447C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209447C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02094480 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094480 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094480 */ if (_t5) goto L_02094484; else goto L_0209448C;
|
|
L_02094484: ; // 0x2094484
|
|
/* 02094484 */ cpu->r[12] = 0x00000000u;
|
|
/* 02094488 */ _t6 = cpu->r[31] + 0x00000254u;
|
|
/* 02094488 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
L_0209448C: ; // 0x209448c
|
|
/* 0209448C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02094490 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094494 */ Gambit_fn_02090220(cpu);
|
|
/* 02094498 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209449C */ Gambit_fn_0206A310(cpu);
|
|
/* 020944A0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 020944A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020944A4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020944A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020944A8 */ cpu->lr = cpu->r[0];
|
|
/* 020944AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020944B0 */ return;
|
|
}
|
|
|
|
// fn_02094468 @ 0x2094468
|
|
void Gambit_fn_02094468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02094468: ; // 0x2094468
|
|
/* 02094468 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094468 */ cpu->r[1] = _t0;
|
|
/* 0209446C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209446C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02094470 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094474 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094474 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094478 */ _t3 = cpu->r[31] + 0x00000118u;
|
|
/* 02094478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209447C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209447C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02094480 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094480 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094480 */ if (_t5) goto L_02094484; else goto L_0209448C;
|
|
L_02094484: ; // 0x2094484
|
|
/* 02094484 */ cpu->r[12] = 0x00000000u;
|
|
/* 02094488 */ _t6 = cpu->r[31] + 0x00000254u;
|
|
/* 02094488 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
L_0209448C: ; // 0x209448c
|
|
/* 0209448C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02094490 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094494 */ Gambit_fn_02090220(cpu);
|
|
/* 02094498 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209449C */ Gambit_fn_0206A310(cpu);
|
|
/* 020944A0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 020944A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020944A4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020944A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020944A8 */ cpu->lr = cpu->r[0];
|
|
/* 020944AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020944B0 */ return;
|
|
}
|
|
|
|
// fn_020944B4 @ 0x20944b4
|
|
void Gambit_fn_020944B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_020944B4: ; // 0x20944b4
|
|
/* 020944B4 */ cpu->r[0] = cpu->lr;
|
|
/* 020944B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020944B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020944B8 */ cpu->r[1] = _t0;
|
|
/* 020944BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020944BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020944C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020944C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020944C4 */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 020944C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020944C8 */ /* nop */
|
|
/* 020944CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 020944D0 */ cpu->r[31] = 0x00000001u;
|
|
/* 020944D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020944D4 */ if (_t5) goto L_02094500; else goto L_020944D8;
|
|
L_020944D8: ; // 0x20944d8
|
|
/* 020944D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 020944DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 020944DC */ if (_t7) goto L_020944E0; else goto L_020944FC;
|
|
L_020944E0: ; // 0x20944e0
|
|
/* 020944E0 */ _t8 = cpu->r[3] + 0x00000234u;
|
|
/* 020944E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020944E4 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 020944E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020944E8 */ _t10 = cpu->r[11] + 0x0000008Cu;
|
|
/* 020944E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020944EC */ cpu->ctr = cpu->r[12];
|
|
/* 020944F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020944F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020944F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020944F8 */ if (_t12) goto L_020944FC; else goto L_02094500;
|
|
L_020944FC: ; // 0x20944fc
|
|
/* 020944FC */ cpu->r[31] = 0x00000000u;
|
|
L_02094500: ; // 0x2094500
|
|
/* 02094500 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02094500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02094508 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209450C */ cpu->lr = cpu->r[0];
|
|
/* 02094510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094514 */ return;
|
|
}
|
|
|
|
// fn_020944B8 @ 0x20944b8
|
|
void Gambit_fn_020944B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_020944B8: ; // 0x20944b8
|
|
/* 020944B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020944B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020944B8 */ cpu->r[1] = _t0;
|
|
/* 020944BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020944BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020944C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020944C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020944C4 */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 020944C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020944C8 */ /* nop */
|
|
/* 020944CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 020944D0 */ cpu->r[31] = 0x00000001u;
|
|
/* 020944D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020944D4 */ if (_t5) goto L_02094500; else goto L_020944D8;
|
|
L_020944D8: ; // 0x20944d8
|
|
/* 020944D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 020944DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 020944DC */ if (_t7) goto L_020944E0; else goto L_020944FC;
|
|
L_020944E0: ; // 0x20944e0
|
|
/* 020944E0 */ _t8 = cpu->r[3] + 0x00000234u;
|
|
/* 020944E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020944E4 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 020944E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020944E8 */ _t10 = cpu->r[11] + 0x0000008Cu;
|
|
/* 020944E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020944EC */ cpu->ctr = cpu->r[12];
|
|
/* 020944F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020944F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020944F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020944F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020944F8 */ if (_t12) goto L_020944FC; else goto L_02094500;
|
|
L_020944FC: ; // 0x20944fc
|
|
/* 020944FC */ cpu->r[31] = 0x00000000u;
|
|
L_02094500: ; // 0x2094500
|
|
/* 02094500 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02094500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02094508 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209450C */ cpu->lr = cpu->r[0];
|
|
/* 02094510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094514 */ return;
|
|
}
|
|
|
|
// fn_02094518 @ 0x2094518
|
|
void Gambit_fn_02094518(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02094518: ; // 0x2094518
|
|
/* 02094518 */ _t0 = cpu->r[3] + 0x000001E8u;
|
|
/* 02094518 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0209451C */ /* nop */
|
|
/* 02094520 */ cpu->r[0] = cpu->r[0] ^ 0x0000000Du;
|
|
/* 02094524 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02094528 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0209452C */ return;
|
|
}
|
|
|
|
// fn_02094530 @ 0x2094530
|
|
void Gambit_fn_02094530(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02094530: ; // 0x2094530
|
|
/* 02094530 */ cpu->r[0] = cpu->lr;
|
|
/* 02094534 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094534 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094534 */ cpu->r[1] = _t0;
|
|
/* 02094538 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094538 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209453C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209453C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094540 */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 02094540 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02094544 */ /* nop */
|
|
/* 02094548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Eu);
|
|
/* 0209454C */ cpu->r[31] = 0x00000001u;
|
|
/* 02094550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094550 */ if (_t5) goto L_02094574; else goto L_02094554;
|
|
L_02094554: ; // 0x2094554
|
|
/* 02094554 */ _t6 = cpu->r[3] + 0x00000264u;
|
|
/* 02094554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02094558 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02094558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209455C */ _t8 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0209455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094560 */ cpu->ctr = cpu->r[0];
|
|
/* 02094564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209456C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209456C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209456C */ if (_t10) goto L_02094570; else goto L_02094574;
|
|
L_02094570: ; // 0x2094570
|
|
/* 02094570 */ cpu->r[31] = 0x00000000u;
|
|
L_02094574: ; // 0x2094574
|
|
/* 02094574 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02094574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02094578 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209457C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209457C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094580 */ cpu->lr = cpu->r[0];
|
|
/* 02094584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094588 */ return;
|
|
}
|
|
|
|
// fn_02094534 @ 0x2094534
|
|
void Gambit_fn_02094534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02094534: ; // 0x2094534
|
|
/* 02094534 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094534 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094534 */ cpu->r[1] = _t0;
|
|
/* 02094538 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094538 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209453C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209453C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094540 */ _t3 = cpu->r[3] + 0x000001E8u;
|
|
/* 02094540 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02094544 */ /* nop */
|
|
/* 02094548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Eu);
|
|
/* 0209454C */ cpu->r[31] = 0x00000001u;
|
|
/* 02094550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094550 */ if (_t5) goto L_02094574; else goto L_02094554;
|
|
L_02094554: ; // 0x2094554
|
|
/* 02094554 */ _t6 = cpu->r[3] + 0x00000264u;
|
|
/* 02094554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02094558 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02094558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209455C */ _t8 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0209455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094560 */ cpu->ctr = cpu->r[0];
|
|
/* 02094564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209456C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209456C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209456C */ if (_t10) goto L_02094570; else goto L_02094574;
|
|
L_02094570: ; // 0x2094570
|
|
/* 02094570 */ cpu->r[31] = 0x00000000u;
|
|
L_02094574: ; // 0x2094574
|
|
/* 02094574 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02094574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02094578 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209457C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209457C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094580 */ cpu->lr = cpu->r[0];
|
|
/* 02094584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094588 */ return;
|
|
}
|
|
|
|
// fn_0209458C @ 0x209458c
|
|
void Gambit_fn_0209458C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0209458C: ; // 0x209458c
|
|
/* 0209458C */ cpu->r[0] = cpu->lr;
|
|
/* 02094590 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02094590 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02094594 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02094594 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02094594 */ cpu->r[1] = _t1;
|
|
/* 02094598 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02094598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209459C */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020945A0 */ cpu->ctr = cpu->r[0];
|
|
/* 020945A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020945A8 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020945AC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020945AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020945B0 */ cpu->lr = cpu->r[0];
|
|
/* 020945B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020945B8 */ return;
|
|
}
|
|
|
|
// fn_02094594 @ 0x2094594
|
|
void Gambit_fn_02094594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02094594: ; // 0x2094594
|
|
/* 02094594 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02094594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094594 */ cpu->r[1] = _t0;
|
|
/* 02094598 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02094598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209459C */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020945A0 */ cpu->ctr = cpu->r[0];
|
|
/* 020945A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020945A8 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020945AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020945AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020945B0 */ cpu->lr = cpu->r[0];
|
|
/* 020945B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020945B8 */ return;
|
|
}
|
|
|
|
// fn_020945BC @ 0x20945bc
|
|
void Gambit_fn_020945BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_020945BC: ; // 0x20945bc
|
|
/* 020945BC */ cpu->r[0] = cpu->lr;
|
|
/* 020945C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020945C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020945C0 */ cpu->r[1] = _t0;
|
|
/* 020945C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020945C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020945C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020945CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020945CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020945D0 */ _t3 = cpu->r[31] + 0x00000264u;
|
|
/* 020945D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020945D4 */ Gambit_fn_020BE9AC(cpu);
|
|
/* 020945D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020945DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020945DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 020945DC */ if (_t5) goto L_020945E0; else goto L_02094634;
|
|
L_020945E0: ; // 0x20945e0
|
|
/* 020945E0 */ cpu->r[0] = cpu->r[31] + 0x00000218u;
|
|
/* 020945E4 */ cpu->r[9] = 0x00000000u;
|
|
/* 020945E8 */ cpu->r[12] = cpu->r[0];
|
|
/* 020945EC */ goto L_020945F8;
|
|
L_020945F0: ; // 0x20945f0
|
|
/* 020945F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000006u);
|
|
/* 020945F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020945F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020945F4 */ if (_t7) goto L_020945F8; else goto L_02094604;
|
|
L_020945F8: ; // 0x20945f8
|
|
/* 020945F8 */ cpu->r[11] = cpu->r[12];
|
|
/* 020945FC */ cpu->r[8] = 0x00000001u;
|
|
/* 02094600 */ goto L_02094608;
|
|
L_02094604: ; // 0x2094604
|
|
/* 02094604 */ cpu->r[11] = cpu->r[0];
|
|
L_02094608: ; // 0x2094608
|
|
/* 02094608 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02094608 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209460C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02094610 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02094614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000006u);
|
|
/* 02094618 */ _t9 = cpu->r[10] + 0x00000100u;
|
|
/* 02094618 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]);
|
|
/* 0209461C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209461C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209461C */ if (_t11) goto L_020945F0; else goto L_02094620;
|
|
L_02094620: ; // 0x2094620
|
|
/* 02094620 */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 02094620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094624 */ cpu->r[12] = 0x00000001u;
|
|
/* 02094628 */ _t13 = cpu->r[11] + 0x00000100u;
|
|
/* 02094628 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 0209462C */ _t14 = cpu->r[31] + 0x00000264u;
|
|
/* 0209462C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02094630 */ _t15 = cpu->r[7] + 0x00000100u;
|
|
/* 02094630 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
L_02094634: ; // 0x2094634
|
|
/* 02094634 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02094634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02094638 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209463C */ cpu->lr = cpu->r[0];
|
|
/* 02094640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094644 */ return;
|
|
}
|
|
|
|
// fn_020945C0 @ 0x20945c0
|
|
void Gambit_fn_020945C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_020945C0: ; // 0x20945c0
|
|
/* 020945C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020945C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020945C0 */ cpu->r[1] = _t0;
|
|
/* 020945C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020945C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020945C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020945CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020945CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020945D0 */ _t3 = cpu->r[31] + 0x00000264u;
|
|
/* 020945D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020945D4 */ Gambit_fn_020BE9AC(cpu);
|
|
/* 020945D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020945DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020945DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 020945DC */ if (_t5) goto L_020945E0; else goto L_02094634;
|
|
L_020945E0: ; // 0x20945e0
|
|
/* 020945E0 */ cpu->r[0] = cpu->r[31] + 0x00000218u;
|
|
/* 020945E4 */ cpu->r[9] = 0x00000000u;
|
|
/* 020945E8 */ cpu->r[12] = cpu->r[0];
|
|
/* 020945EC */ goto L_020945F8;
|
|
L_020945F0: ; // 0x20945f0
|
|
/* 020945F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000006u);
|
|
/* 020945F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020945F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020945F4 */ if (_t7) goto L_020945F8; else goto L_02094604;
|
|
L_020945F8: ; // 0x20945f8
|
|
/* 020945F8 */ cpu->r[11] = cpu->r[12];
|
|
/* 020945FC */ cpu->r[8] = 0x00000001u;
|
|
/* 02094600 */ goto L_02094608;
|
|
L_02094604: ; // 0x2094604
|
|
/* 02094604 */ cpu->r[11] = cpu->r[0];
|
|
L_02094608: ; // 0x2094608
|
|
/* 02094608 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02094608 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209460C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02094610 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02094614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000006u);
|
|
/* 02094618 */ _t9 = cpu->r[10] + 0x00000100u;
|
|
/* 02094618 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]);
|
|
/* 0209461C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209461C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209461C */ if (_t11) goto L_020945F0; else goto L_02094620;
|
|
L_02094620: ; // 0x2094620
|
|
/* 02094620 */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 02094620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094624 */ cpu->r[12] = 0x00000001u;
|
|
/* 02094628 */ _t13 = cpu->r[11] + 0x00000100u;
|
|
/* 02094628 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 0209462C */ _t14 = cpu->r[31] + 0x00000264u;
|
|
/* 0209462C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02094630 */ _t15 = cpu->r[7] + 0x00000100u;
|
|
/* 02094630 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
L_02094634: ; // 0x2094634
|
|
/* 02094634 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02094634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02094638 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209463C */ cpu->lr = cpu->r[0];
|
|
/* 02094640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094644 */ return;
|
|
}
|
|
|
|
// fn_02094648 @ 0x2094648
|
|
void Gambit_fn_02094648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02094648: ; // 0x2094648
|
|
/* 02094648 */ cpu->r[0] = cpu->lr;
|
|
/* 0209464C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209464C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209464C */ cpu->r[1] = _t0;
|
|
/* 02094650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02094650 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02094654 */ cpu->r[28] = 0x00000000u;
|
|
/* 02094658 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02094658 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209465C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209465C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02094660 */ cpu->r[30] = cpu->r[3];
|
|
/* 02094664 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094664 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02094668 */ cpu->r[31] = cpu->r[30] + 0x00000230u;
|
|
/* 0209466C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209466C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02094670 */ cpu->r[29] = cpu->r[31];
|
|
/* 02094674 */ goto L_02094680;
|
|
L_02094678: ; // 0x2094678
|
|
/* 02094678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 0209467C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209467C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209467C */ if (_t7) goto L_02094680; else goto L_02094688;
|
|
L_02094680: ; // 0x2094680
|
|
/* 02094680 */ cpu->r[7] = cpu->r[29];
|
|
/* 02094684 */ goto L_0209468C;
|
|
L_02094688: ; // 0x2094688
|
|
/* 02094688 */ cpu->r[7] = cpu->r[31];
|
|
L_0209468C: ; // 0x209468c
|
|
/* 0209468C */ _t8 = cpu->r[7] + 0x00000000u;
|
|
/* 0209468C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094690 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02094690 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02094694 */ _t10 = cpu->r[11] + 0x00000084u;
|
|
/* 02094694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02094698 */ cpu->ctr = cpu->r[0];
|
|
/* 0209469C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020946A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020946A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020946A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020946A4 */ if (_t12) goto L_020946A8; else goto L_02094710;
|
|
L_020946A8: ; // 0x20946a8
|
|
/* 020946A8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020946AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 020946B0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 020946B4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020946B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 020946B4 */ if (_t14) goto L_02094678; else goto L_020946B8;
|
|
L_020946B8: ; // 0x20946b8
|
|
/* 020946B8 */ _t15 = cpu->r[30] + 0x00000264u;
|
|
/* 020946B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020946BC */ Gambit_fn_020BE9AC(cpu);
|
|
/* 020946C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020946C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020946C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 020946C4 */ if (_t17) goto L_020946C8; else goto L_02094710;
|
|
L_020946C8: ; // 0x20946c8
|
|
/* 020946C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 020946CC */ cpu->r[12] = cpu->r[31];
|
|
/* 020946D0 */ goto L_020946DC;
|
|
L_020946D4: ; // 0x20946d4
|
|
/* 020946D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 020946D8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020946D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 020946D8 */ if (_t19) goto L_020946DC; else goto L_020946E8;
|
|
L_020946DC: ; // 0x20946dc
|
|
/* 020946DC */ cpu->r[10] = cpu->r[12];
|
|
/* 020946E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 020946E4 */ goto L_020946EC;
|
|
L_020946E8: ; // 0x20946e8
|
|
/* 020946E8 */ cpu->r[10] = cpu->r[31];
|
|
L_020946EC: ; // 0x20946ec
|
|
/* 020946EC */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 020946EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020946F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 020946F4 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 020946F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 020946FC */ _t21 = cpu->r[9] + 0x00000100u;
|
|
/* 020946FC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02094700 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094700 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02094700 */ if (_t23) goto L_020946D4; else goto L_02094704;
|
|
L_02094704: ; // 0x2094704
|
|
/* 02094704 */ _t24 = cpu->r[30] + 0x00000264u;
|
|
/* 02094704 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02094708 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209470C */ _t25 = cpu->r[4] + 0x00000100u;
|
|
/* 0209470C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
L_02094710: ; // 0x2094710
|
|
/* 02094710 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02094710 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02094714 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094714 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02094718 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209471C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0209471C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02094720 */ cpu->lr = cpu->r[0];
|
|
/* 02094724 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02094724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02094728 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209472C */ return;
|
|
}
|
|
|
|
// fn_0209464C @ 0x209464c
|
|
void Gambit_fn_0209464C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0209464C: ; // 0x209464c
|
|
/* 0209464C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209464C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209464C */ cpu->r[1] = _t0;
|
|
/* 02094650 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02094650 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02094654 */ cpu->r[28] = 0x00000000u;
|
|
/* 02094658 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02094658 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209465C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209465C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02094660 */ cpu->r[30] = cpu->r[3];
|
|
/* 02094664 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094664 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02094668 */ cpu->r[31] = cpu->r[30] + 0x00000230u;
|
|
/* 0209466C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209466C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02094670 */ cpu->r[29] = cpu->r[31];
|
|
/* 02094674 */ goto L_02094680;
|
|
L_02094678: ; // 0x2094678
|
|
/* 02094678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 0209467C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209467C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209467C */ if (_t7) goto L_02094680; else goto L_02094688;
|
|
L_02094680: ; // 0x2094680
|
|
/* 02094680 */ cpu->r[7] = cpu->r[29];
|
|
/* 02094684 */ goto L_0209468C;
|
|
L_02094688: ; // 0x2094688
|
|
/* 02094688 */ cpu->r[7] = cpu->r[31];
|
|
L_0209468C: ; // 0x209468c
|
|
/* 0209468C */ _t8 = cpu->r[7] + 0x00000000u;
|
|
/* 0209468C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094690 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02094690 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02094694 */ _t10 = cpu->r[11] + 0x00000084u;
|
|
/* 02094694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02094698 */ cpu->ctr = cpu->r[0];
|
|
/* 0209469C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020946A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020946A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020946A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020946A4 */ if (_t12) goto L_020946A8; else goto L_02094710;
|
|
L_020946A8: ; // 0x20946a8
|
|
/* 020946A8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020946AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 020946B0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 020946B4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020946B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 020946B4 */ if (_t14) goto L_02094678; else goto L_020946B8;
|
|
L_020946B8: ; // 0x20946b8
|
|
/* 020946B8 */ _t15 = cpu->r[30] + 0x00000264u;
|
|
/* 020946B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020946BC */ Gambit_fn_020BE9AC(cpu);
|
|
/* 020946C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020946C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020946C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 020946C4 */ if (_t17) goto L_020946C8; else goto L_02094710;
|
|
L_020946C8: ; // 0x20946c8
|
|
/* 020946C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 020946CC */ cpu->r[12] = cpu->r[31];
|
|
/* 020946D0 */ goto L_020946DC;
|
|
L_020946D4: ; // 0x20946d4
|
|
/* 020946D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 020946D8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020946D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 020946D8 */ if (_t19) goto L_020946DC; else goto L_020946E8;
|
|
L_020946DC: ; // 0x20946dc
|
|
/* 020946DC */ cpu->r[10] = cpu->r[12];
|
|
/* 020946E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 020946E4 */ goto L_020946EC;
|
|
L_020946E8: ; // 0x20946e8
|
|
/* 020946E8 */ cpu->r[10] = cpu->r[31];
|
|
L_020946EC: ; // 0x20946ec
|
|
/* 020946EC */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 020946EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020946F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 020946F4 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 020946F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 020946FC */ _t21 = cpu->r[9] + 0x00000100u;
|
|
/* 020946FC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02094700 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094700 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02094700 */ if (_t23) goto L_020946D4; else goto L_02094704;
|
|
L_02094704: ; // 0x2094704
|
|
/* 02094704 */ _t24 = cpu->r[30] + 0x00000264u;
|
|
/* 02094704 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02094708 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209470C */ _t25 = cpu->r[4] + 0x00000100u;
|
|
/* 0209470C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
L_02094710: ; // 0x2094710
|
|
/* 02094710 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02094710 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02094714 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094714 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02094718 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209471C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0209471C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02094720 */ cpu->lr = cpu->r[0];
|
|
/* 02094724 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02094724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02094728 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209472C */ return;
|
|
}
|
|
|
|
// fn_02094730 @ 0x2094730
|
|
void Gambit_fn_02094730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02094730: ; // 0x2094730
|
|
/* 02094730 */ cpu->r[0] = cpu->lr;
|
|
/* 02094734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094734 */ cpu->r[1] = _t0;
|
|
/* 02094738 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209473C */ cpu->r[31] = cpu->r[3];
|
|
/* 02094740 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094740 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094744 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 02094744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02094748 */ /* nop */
|
|
/* 0209474C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02094750 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094750 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094750 */ if (_t5) goto L_02094754; else goto L_02094764;
|
|
L_02094754: ; // 0x2094754
|
|
/* 02094754 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094758 */ Gambit_fn_020945BC(cpu);
|
|
/* 0209475C */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0209475C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02094760 */ /* nop */
|
|
L_02094764: ; // 0x2094764
|
|
/* 02094764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02094768 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094768 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02094768 */ if (_t8) goto L_0209477C; else goto L_0209476C;
|
|
L_0209476C: ; // 0x209476c
|
|
/* 0209476C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000008u);
|
|
/* 02094770 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094770 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02094770 */ if (_t10) goto L_0209477C; else goto L_02094774;
|
|
L_02094774: ; // 0x2094774
|
|
/* 02094774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02094778 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094778 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02094778 */ if (_t12) goto L_0209477C; else goto L_02094784;
|
|
L_0209477C: ; // 0x209477c
|
|
/* 0209477C */ cpu->r[3] = cpu->r[31];
|
|
/* 02094780 */ Gambit_fn_02094648(cpu);
|
|
L_02094784: ; // 0x2094784
|
|
/* 02094784 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02094784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094788 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209478C */ cpu->lr = cpu->r[0];
|
|
/* 02094790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094794 */ return;
|
|
}
|
|
|
|
// fn_02094734 @ 0x2094734
|
|
void Gambit_fn_02094734(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02094734: ; // 0x2094734
|
|
/* 02094734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02094734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094734 */ cpu->r[1] = _t0;
|
|
/* 02094738 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209473C */ cpu->r[31] = cpu->r[3];
|
|
/* 02094740 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094740 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02094744 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 02094744 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02094748 */ /* nop */
|
|
/* 0209474C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02094750 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094750 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094750 */ if (_t5) goto L_02094754; else goto L_02094764;
|
|
L_02094754: ; // 0x2094754
|
|
/* 02094754 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094758 */ Gambit_fn_020945BC(cpu);
|
|
/* 0209475C */ _t6 = cpu->r[31] + 0x000001E8u;
|
|
/* 0209475C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02094760 */ /* nop */
|
|
L_02094764: ; // 0x2094764
|
|
/* 02094764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02094768 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094768 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02094768 */ if (_t8) goto L_0209477C; else goto L_0209476C;
|
|
L_0209476C: ; // 0x209476c
|
|
/* 0209476C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000008u);
|
|
/* 02094770 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094770 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02094770 */ if (_t10) goto L_0209477C; else goto L_02094774;
|
|
L_02094774: ; // 0x2094774
|
|
/* 02094774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02094778 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094778 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02094778 */ if (_t12) goto L_0209477C; else goto L_02094784;
|
|
L_0209477C: ; // 0x209477c
|
|
/* 0209477C */ cpu->r[3] = cpu->r[31];
|
|
/* 02094780 */ Gambit_fn_02094648(cpu);
|
|
L_02094784: ; // 0x2094784
|
|
/* 02094784 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02094784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094788 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209478C */ cpu->lr = cpu->r[0];
|
|
/* 02094790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02094794 */ return;
|
|
}
|
|
|
|
// fn_02094798 @ 0x2094798
|
|
void Gambit_fn_02094798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_02094798: ; // 0x2094798
|
|
/* 02094798 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02094798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094798 */ cpu->r[1] = _t0;
|
|
/* 0209479C */ /* nop */
|
|
/* 020947A0 */ cpu->r[22] = 0x00000000u;
|
|
/* 020947A4 */ cpu->r[25] = 0x10010000u;
|
|
/* 020947A8 */ cpu->r[0] = cpu->lr;
|
|
/* 020947AC */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 020947AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020947B0 */ cpu->r[20] = cpu->r[22];
|
|
/* 020947B4 */ cpu->r[23] = 0x00000001u;
|
|
/* 020947B8 */ cpu->r[9] = 0x10010000u;
|
|
/* 020947BC */ cpu->r[12] = 0x10110000u;
|
|
/* 020947C0 */ cpu->r[25] = cpu->r[25] + 0xFFFFE99Cu;
|
|
/* 020947C4 */ cpu->r[21] = 0x00000006u;
|
|
/* 020947C8 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020947CC */ cpu->r[28] = cpu->r[3];
|
|
/* 020947D0 */ _t2 = cpu->r[12] + 0x00007399u;
|
|
/* 020947D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 020947D4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 020947D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFE9E4u;
|
|
/* 020947DC */ cpu->r[27] = 0x10010000u;
|
|
/* 020947E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020947E0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 020947E4 */ cpu->r[30] = 0x10010000u;
|
|
/* 020947E8 */ _t4 = cpu->r[1] + 0x0000003Bu;
|
|
/* 020947E8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 020947EC */ cpu->r[29] = 0x101D0000u;
|
|
/* 020947F0 */ cpu->r[8] = 0x00000020u;
|
|
/* 020947F4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 020947F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 020947F8 */ cpu->r[24] = cpu->r[28] + 0x00000218u;
|
|
/* 020947FC */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 020947FC */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02094800 */ cpu->r[27] = cpu->r[27] + 0xFFFFEA4Cu;
|
|
/* 02094804 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02094804 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
L_02094808: ; // 0x2094808
|
|
/* 02094808 */ cpu->r[5] = cpu->r[22];
|
|
/* 0209480C */ cpu->r[4] = cpu->r[30] + 0xFFFFEC08u;
|
|
/* 02094810 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02094814 */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02094814 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02094814 */ if (_t9) goto L_02094818; // else: addr-0 trap, fall-through
|
|
L_02094818: ; // 0x2094818
|
|
/* 02094818 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209481C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 02094820 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094820 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02094820 */ if (_t11) goto L_02094824; else goto L_02094848;
|
|
L_02094824: ; // 0x2094824
|
|
/* 02094824 */ cpu->r[3] = cpu->r[28];
|
|
/* 02094828 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0209482C */ cpu->r[19] = cpu->r[24] + cpu->r[20];
|
|
/* 02094830 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02094834 */ _t12 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209483C */ cpu->r[31] = cpu->r[3];
|
|
/* 02094840 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094840 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02094840 */ if (_t14) goto L_02094844; else goto L_02094870;
|
|
L_02094844: ; // 0x2094844
|
|
/* 02094844 */ goto L_02094868;
|
|
L_02094848: ; // 0x2094848
|
|
/* 02094848 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209484C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02094850 */ cpu->r[19] = cpu->r[24];
|
|
/* 02094854 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02094858 */ _t15 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209485C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02094860 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094864 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094864 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02094864 */ if (_t17) goto L_02094868; else goto L_02094870;
|
|
L_02094868: ; // 0x2094868
|
|
/* 02094868 */ _t18 = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 02094868 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 0209486C */ _t19 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 0209486C */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
|
|
L_02094870: ; // 0x2094870
|
|
/* 02094870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02094874 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094874 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02094874 */ if (_t21) goto L_02094898; else goto L_02094878;
|
|
L_02094878: ; // 0x2094878
|
|
/* 02094878 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02094878 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209487C */ _t23 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0209487C */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02094880 */ cpu->ctr = cpu->r[9];
|
|
/* 02094884 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094888 */ cpu->r[4] = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 0209488C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02094894 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094894 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02094894 */ if (_t25) goto L_02094898; else goto L_0209489C;
|
|
L_02094898: ; // 0x2094898
|
|
/* 02094898 */ cpu->r[31] = 0x00000000u;
|
|
L_0209489C: ; // 0x209489c
|
|
/* 0209489C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 020948A0 */ _t26 = cpu->r[19] + 0x00000000u;
|
|
/* 020948A0 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
/* 020948A4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020948A4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 020948A4 */ if (_t28) goto L_020948A8; else goto L_020948BC;
|
|
L_020948A8: ; // 0x20948a8
|
|
/* 020948A8 */ _t29 = cpu->r[24] + cpu->r[20];
|
|
/* 020948A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 020948AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 020948B0 */ _t30 = cpu->r[6] + 0x000001B7u;
|
|
/* 020948B0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[23]);
|
|
/* 020948B4 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020948B4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 020948B4 */ if (_t32) goto L_020948CC; else goto L_020948B8;
|
|
L_020948B8: ; // 0x20948b8
|
|
/* 020948B8 */ goto L_020948E8;
|
|
L_020948BC: ; // 0x20948bc
|
|
/* 020948BC */ _t33 = cpu->r[24] + 0x00000000u;
|
|
/* 020948BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 020948C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 020948C4 */ _t34 = cpu->r[6] + 0x000001B7u;
|
|
/* 020948C4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[23]);
|
|
/* 020948C8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020948C8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 020948C8 */ if (_t36) goto L_020948CC; else goto L_020948E8;
|
|
L_020948CC: ; // 0x20948cc
|
|
/* 020948CC */ _t37 = cpu->r[24] + cpu->r[20];
|
|
/* 020948CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020948D0 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 020948D4 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 020948D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 020948D8 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 020948DC */ _t38 = cpu->r[8] + 0x000001B8u;
|
|
/* 020948DC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[23]);
|
|
/* 020948E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020948E0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 020948E0 */ if (_t40) goto L_020948E4; else goto L_02094808;
|
|
L_020948E4: ; // 0x20948e4
|
|
/* 020948E4 */ goto L_02094900;
|
|
L_020948E8: ; // 0x20948e8
|
|
/* 020948E8 */ _t41 = cpu->r[24] + 0x00000000u;
|
|
/* 020948E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 020948EC */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 020948F0 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 020948F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 020948F4 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 020948F8 */ _t42 = cpu->r[8] + 0x000001B8u;
|
|
/* 020948F8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[23]);
|
|
/* 020948FC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020948FC */ _t44 = _t43 & 0x00000001u;
|
|
/* 020948FC */ if (_t44) goto L_02094900; else goto L_02094808;
|
|
L_02094900: ; // 0x2094900
|
|
/* 02094900 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094904 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094904 */ rbrew_write32(cpu->mem, _t45, cpu->r[25]);
|
|
/* 02094908 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209490C */ cpu->r[0] = cpu->r[0] + 0xFFFFEC1Cu;
|
|
/* 02094910 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02094914 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02094914 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02094918 */ Gambit_fn_026D86C0(cpu);
|
|
/* 0209491C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02094920 */ _t47 = cpu->r[6] + 0xFFFFEDC4u;
|
|
/* 02094920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02094920 */ cpu->r[6] = _t47;
|
|
/* 02094924 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094928 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0209492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02094930 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE40u;
|
|
/* 02094934 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094934 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02094934 */ if (_t49) goto L_02094938; else goto L_0209494C;
|
|
L_02094938: ; // 0x2094938
|
|
/* 02094938 */ cpu->r[8] = 0x10010000u;
|
|
/* 0209493C */ cpu->r[7] = 0x00000001u;
|
|
/* 02094940 */ cpu->r[8] = cpu->r[8] + 0xFFFFEA5Cu;
|
|
/* 02094944 */ _t50 = cpu->r[6] + 0x00000000u;
|
|
/* 02094944 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02094948 */ _t51 = cpu->r[4] + 0x00000000u;
|
|
/* 02094948 */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
L_0209494C: ; // 0x209494c
|
|
/* 0209494C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02094950 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094950 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02094950 */ if (_t53) goto L_02094970; else goto L_02094954;
|
|
L_02094954: ; // 0x2094954
|
|
/* 02094954 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 02094954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02094958 */ _t55 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02094958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0209495C */ cpu->ctr = cpu->r[10];
|
|
/* 02094960 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209496C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209496C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209496C */ if (_t57) goto L_02094970; else goto L_02094974;
|
|
L_02094970: ; // 0x2094970
|
|
/* 02094970 */ cpu->r[31] = 0x00000000u;
|
|
L_02094974: ; // 0x2094974
|
|
/* 02094974 */ cpu->r[11] = 0x00000000u;
|
|
/* 02094978 */ _t58 = cpu->r[28] + 0x00000214u;
|
|
/* 02094978 */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 0209497C */ cpu->r[0] = 0x10010000u;
|
|
/* 02094980 */ _t59 = cpu->r[31] + 0x00000236u;
|
|
/* 02094980 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[11]);
|
|
/* 02094984 */ _t60 = cpu->r[28] + 0x00000214u;
|
|
/* 02094984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02094988 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBF0u;
|
|
/* 0209498C */ cpu->r[30] = cpu->r[28] + 0x00000230u;
|
|
/* 02094990 */ _t61 = cpu->r[12] + 0x00000220u;
|
|
/* 02094990 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02094994 */ cpu->r[3] = cpu->r[28];
|
|
/* 02094998 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 02094998 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 0209499C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 020949A0 */ cpu->r[24] = cpu->r[28] + 0x00000234u;
|
|
/* 020949A4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020949A4 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]);
|
|
/* 020949A8 */ Gambit_fn_026D86C0(cpu);
|
|
/* 020949AC */ _t64 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 020949AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 020949B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 020949B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020949B8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020949B8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 020949B8 */ if (_t66) goto L_020949BC; else goto L_020949C8;
|
|
L_020949BC: ; // 0x20949bc
|
|
/* 020949BC */ _t67 = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 020949BC */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
/* 020949C0 */ cpu->r[7] = 0x00000001u;
|
|
/* 020949C4 */ _t68 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 020949C4 */ rbrew_write32(cpu->mem, _t68, cpu->r[7]);
|
|
L_020949C8: ; // 0x20949c8
|
|
/* 020949C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020949CC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020949CC */ _t70 = _t69 & 0x00000001u;
|
|
/* 020949CC */ if (_t70) goto L_020949F0; else goto L_020949D0;
|
|
L_020949D0: ; // 0x20949d0
|
|
/* 020949D0 */ _t71 = cpu->r[31] + 0x00000000u;
|
|
/* 020949D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 020949D4 */ _t72 = cpu->r[9] + 0x0000001Cu;
|
|
/* 020949D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 020949D8 */ cpu->ctr = cpu->r[0];
|
|
/* 020949DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020949E0 */ cpu->r[4] = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 020949E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020949E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020949EC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020949EC */ _t74 = _t73 & 0x00000001u;
|
|
/* 020949EC */ if (_t74) goto L_020949F0; else goto L_020949F4;
|
|
L_020949F0: ; // 0x20949f0
|
|
/* 020949F0 */ cpu->r[31] = 0x00000000u;
|
|
L_020949F4: ; // 0x20949f4
|
|
/* 020949F4 */ _t75 = cpu->r[24] + 0x00000000u;
|
|
/* 020949F4 */ rbrew_write32(cpu->mem, _t75, cpu->r[31]);
|
|
/* 020949F8 */ cpu->r[11] = 0x10010000u;
|
|
/* 020949FC */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020949FC */ rbrew_write32(cpu->mem, _t76, cpu->r[25]);
|
|
/* 02094A00 */ cpu->r[11] = cpu->r[11] + 0xFFFFEBFCu;
|
|
/* 02094A04 */ cpu->r[3] = cpu->r[28];
|
|
/* 02094A08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02094A0C */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 02094A0C */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 02094A10 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02094A14 */ _t78 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02094A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02094A1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02094A20 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094A20 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02094A20 */ if (_t80) goto L_02094A24; else goto L_02094A30;
|
|
L_02094A24: ; // 0x2094a24
|
|
/* 02094A24 */ _t81 = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 02094A24 */ rbrew_write32(cpu->mem, _t81, cpu->r[27]);
|
|
/* 02094A28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02094A2C */ _t82 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094A2C */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
L_02094A30: ; // 0x2094a30
|
|
/* 02094A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02094A34 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094A34 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02094A34 */ if (_t84) goto L_02094A58; else goto L_02094A38;
|
|
L_02094A38: ; // 0x2094a38
|
|
/* 02094A38 */ _t85 = cpu->r[31] + 0x00000000u;
|
|
/* 02094A38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02094A3C */ _t86 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02094A3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02094A40 */ cpu->ctr = cpu->r[5];
|
|
/* 02094A44 */ cpu->r[4] = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 02094A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094A4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02094A54 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094A54 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02094A54 */ if (_t88) goto L_02094A58; else goto L_02094A5C;
|
|
L_02094A58: ; // 0x2094a58
|
|
/* 02094A58 */ cpu->r[31] = 0x00000000u;
|
|
L_02094A5C: ; // 0x2094a5c
|
|
/* 02094A5C */ _t89 = cpu->r[30] + 0x00000000u;
|
|
/* 02094A5C */ rbrew_write32(cpu->mem, _t89, cpu->r[31]);
|
|
/* 02094A60 */ cpu->r[7] = 0x00000000u;
|
|
/* 02094A64 */ cpu->r[5] = cpu->r[30];
|
|
/* 02094A68 */ goto L_02094A74;
|
|
L_02094A6C: ; // 0x2094a6c
|
|
/* 02094A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02094A70 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094A70 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02094A70 */ if (_t91) goto L_02094A74; else goto L_02094A80;
|
|
L_02094A74: ; // 0x2094a74
|
|
/* 02094A74 */ cpu->r[10] = cpu->r[5];
|
|
/* 02094A78 */ cpu->r[0] = 0x00000001u;
|
|
/* 02094A7C */ goto L_02094A84;
|
|
L_02094A80: ; // 0x2094a80
|
|
/* 02094A80 */ cpu->r[10] = cpu->r[30];
|
|
L_02094A84: ; // 0x2094a84
|
|
/* 02094A84 */ _t92 = cpu->r[10] + 0x00000000u;
|
|
/* 02094A84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02094A88 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02094A8C */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02094A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02094A94 */ _t93 = cpu->r[8] + 0x000001B7u;
|
|
/* 02094A94 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]);
|
|
/* 02094A98 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094A98 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02094A98 */ if (_t95) goto L_02094A6C; else goto L_02094A9C;
|
|
L_02094A9C: ; // 0x2094a9c
|
|
/* 02094A9C */ cpu->r[6] = 0x10010000u;
|
|
/* 02094AA0 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094AA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[25]);
|
|
/* 02094AA4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEBE4u;
|
|
/* 02094AA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02094AAC */ cpu->r[3] = cpu->r[28];
|
|
/* 02094AB0 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 02094AB0 */ rbrew_write32(cpu->mem, _t97, cpu->r[6]);
|
|
/* 02094AB4 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02094AB8 */ _t98 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094AB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02094ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02094AC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02094AC4 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094AC4 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02094AC4 */ if (_t100) goto L_02094AC8; else goto L_02094AD4;
|
|
L_02094AC8: ; // 0x2094ac8
|
|
/* 02094AC8 */ _t101 = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 02094AC8 */ rbrew_write32(cpu->mem, _t101, cpu->r[27]);
|
|
/* 02094ACC */ cpu->r[10] = 0x00000001u;
|
|
/* 02094AD0 */ _t102 = cpu->r[26] + 0xFFFFEDBCu;
|
|
/* 02094AD0 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
L_02094AD4: ; // 0x2094ad4
|
|
/* 02094AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02094AD8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094AD8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02094AD8 */ if (_t104) goto L_02094AFC; else goto L_02094ADC;
|
|
L_02094ADC: ; // 0x2094adc
|
|
/* 02094ADC */ _t105 = cpu->r[31] + 0x00000000u;
|
|
/* 02094ADC */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02094AE0 */ _t106 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02094AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02094AE4 */ cpu->ctr = cpu->r[12];
|
|
/* 02094AE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02094AEC */ cpu->r[4] = cpu->r[29] + 0xFFFFEE20u;
|
|
/* 02094AF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02094AF8 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094AF8 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02094AF8 */ if (_t108) goto L_02094AFC; else goto L_02094B00;
|
|
L_02094AFC: ; // 0x2094afc
|
|
/* 02094AFC */ cpu->r[31] = 0x00000000u;
|
|
L_02094B00: ; // 0x2094b00
|
|
/* 02094B00 */ _t109 = cpu->r[28] + 0x00000264u;
|
|
/* 02094B00 */ rbrew_write32(cpu->mem, _t109, cpu->r[31]);
|
|
/* 02094B04 */ cpu->r[0] = 0x00000001u;
|
|
/* 02094B08 */ _t110 = cpu->r[31] + 0x000001B7u;
|
|
/* 02094B08 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]);
|
|
/* 02094B0C */ _t111 = cpu->r[28] + 0x00000264u;
|
|
/* 02094B0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02094B10 */ cpu->r[4] = 0x00000800u;
|
|
/* 02094B14 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02094B18 */ /* nop */
|
|
/* 02094B1C */ _t112 = cpu->r[1] + 0x00000074u;
|
|
/* 02094B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02094B20 */ cpu->lr = cpu->r[0];
|
|
/* 02094B24 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02094B28 */ return;
|
|
}
|
|
|
|
// fn_02094B2C @ 0x2094b2c
|
|
void Gambit_fn_02094B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02094B2C: ; // 0x2094b2c
|
|
/* 02094B2C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02094B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094B2C */ cpu->r[1] = _t0;
|
|
/* 02094B30 */ cpu->r[10] = 0x10010000u;
|
|
/* 02094B34 */ /* nop */
|
|
/* 02094B38 */ cpu->r[27] = 0x10010000u;
|
|
/* 02094B3C */ cpu->r[0] = cpu->lr;
|
|
/* 02094B40 */ cpu->r[27] = cpu->r[27] + 0xFFFFE99Cu;
|
|
/* 02094B44 */ cpu->r[10] = cpu->r[10] + 0xFFFFEC54u;
|
|
/* 02094B48 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02094B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[27]);
|
|
/* 02094B4C */ cpu->r[31] = 0x10010000u;
|
|
/* 02094B50 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02094B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02094B54 */ cpu->r[31] = cpu->r[31] + 0xFFFFEC74u;
|
|
/* 02094B58 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02094B58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02094B5C */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02094B60 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02094B60 */ rbrew_write32(cpu->mem, _t4, cpu->r[27]);
|
|
/* 02094B64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02094B68 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02094B68 */ rbrew_write32(cpu->mem, _t5, cpu->r[27]);
|
|
/* 02094B6C */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02094B70 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 02094B70 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02094B74 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02094B78 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02094B78 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02094B7C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02094B80 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02094B80 */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
|
|
/* 02094B84 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094B88 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02094B88 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02094B8C */ cpu->r[0] = cpu->r[0] + 0xFFFFEC48u;
|
|
/* 02094B90 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02094B90 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02094B94 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02094B98 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02094B98 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02094B9C */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02094BA0 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02094BA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02094BA4 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02094BA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02094BAC */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02094BAC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02094BB0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02094BB4 */ cpu->r[12] = 0x10010000u;
|
|
/* 02094BB8 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02094BB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02094BBC */ cpu->r[12] = cpu->r[12] + 0xFFFFEC58u;
|
|
/* 02094BC0 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02094BC0 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 02094BC4 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02094BC8 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02094BC8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02094BCC */ cpu->r[0] = 0x10010000u;
|
|
/* 02094BD0 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02094BD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 02094BD4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC68u;
|
|
/* 02094BD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02094BDC */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02094BDC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02094BE0 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02094BE4 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02094BE8 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02094BE8 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02094BEC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02094BF0 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02094BF4 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02094BF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02094BF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094BFC */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02094BFC */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 02094C00 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC30u;
|
|
/* 02094C04 */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 02094C04 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02094C08 */ cpu->r[12] = 0x10010000u;
|
|
/* 02094C0C */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 02094C0C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02094C10 */ cpu->r[12] = cpu->r[12] + 0xFFFFEC80u;
|
|
/* 02094C14 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02094C18 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02094C1C */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02094C1C */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02094C20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02094C24 */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02094C24 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02094C28 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02094C2C */ cpu->r[29] = 0x10010000u;
|
|
/* 02094C30 */ cpu->r[26] = 0x00000000u;
|
|
/* 02094C34 */ cpu->r[25] = 0x10010000u;
|
|
/* 02094C38 */ cpu->r[29] = cpu->r[29] + 0xFFFFEC90u;
|
|
/* 02094C3C */ cpu->r[24] = 0x10010000u;
|
|
/* 02094C40 */ cpu->r[25] = cpu->r[25] + 0xFFFFEC40u;
|
|
/* 02094C44 */ cpu->r[31] = 0x10010000u;
|
|
/* 02094C48 */ cpu->r[28] = cpu->r[30] + 0x00000218u;
|
|
/* 02094C4C */ cpu->r[30] = 0x10010000u;
|
|
/* 02094C50 */ cpu->r[31] = cpu->r[31] + 0xFFFFEC38u;
|
|
/* 02094C54 */ cpu->r[24] = cpu->r[24] + 0xFFFFEC60u;
|
|
/* 02094C58 */ cpu->r[30] = cpu->r[30] + 0xFFFFEC4Cu;
|
|
/* 02094C5C */ goto L_02094C84;
|
|
L_02094C60: ; // 0x2094c60
|
|
/* 02094C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000003u);
|
|
/* 02094C64 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094C64 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02094C64 */ if (_t27) goto L_02094C7C; else goto L_02094C68;
|
|
L_02094C68: ; // 0x2094c68
|
|
/* 02094C68 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02094C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000006u);
|
|
/* 02094C70 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094C70 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02094C70 */ if (_t29) goto L_02094C74; else goto L_02094D40;
|
|
L_02094C74: ; // 0x2094c74
|
|
/* 02094C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000003u);
|
|
/* 02094C78 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094C78 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02094C78 */ if (_t31) goto L_02094C7C; else goto L_02094C68;
|
|
L_02094C7C: ; // 0x2094c7c
|
|
/* 02094C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000006u);
|
|
/* 02094C80 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094C80 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02094C80 */ if (_t33) goto L_02094C84; else goto L_02094C90;
|
|
L_02094C84: ; // 0x2094c84
|
|
/* 02094C84 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02094C88 */ cpu->r[9] = cpu->r[28] + cpu->r[7];
|
|
/* 02094C8C */ goto L_02094C94;
|
|
L_02094C90: ; // 0x2094c90
|
|
/* 02094C90 */ cpu->r[9] = cpu->r[28];
|
|
L_02094C94: ; // 0x2094c94
|
|
/* 02094C94 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02094C94 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02094C98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02094C9C */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094C9C */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 02094CA0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094CA0 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02094CA4 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02094CA4 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 02094CA8 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02094CA8 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 02094CAC */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02094CAC */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02094CB0 */ _t40 = cpu->r[9] + 0x00000000u;
|
|
/* 02094CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02094CB4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094CB8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02094CBC */ Gambit_fn_027ECE60(cpu);
|
|
/* 02094CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000006u);
|
|
/* 02094CC4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094CC4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02094CC4 */ if (_t42) goto L_02094CC8; else goto L_02094D08;
|
|
L_02094CC8: ; // 0x2094cc8
|
|
/* 02094CC8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094CC8 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02094CCC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02094CD0 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094CD0 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 02094CD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02094CD8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02094CD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[25]);
|
|
/* 02094CDC */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02094CDC */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 02094CE0 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02094CE0 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02094CE4 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02094CE4 */ rbrew_write32(cpu->mem, _t48, cpu->r[24]);
|
|
/* 02094CE8 */ _t49 = cpu->r[28] + cpu->r[0];
|
|
/* 02094CE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02094CEC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094CF0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02094CF4 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02094CF8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02094CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000006u);
|
|
/* 02094D00 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094D00 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02094D00 */ if (_t51) goto L_02094C60; else goto L_02094D04;
|
|
L_02094D04: ; // 0x2094d04
|
|
/* 02094D04 */ goto L_02094D40;
|
|
L_02094D08: ; // 0x2094d08
|
|
/* 02094D08 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02094D08 */ rbrew_write32(cpu->mem, _t52, cpu->r[25]);
|
|
/* 02094D0C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02094D10 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094D10 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
|
|
/* 02094D14 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094D14 */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 02094D18 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02094D18 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 02094D1C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02094D1C */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 02094D20 */ _t57 = cpu->r[1] + 0x00000018u;
|
|
/* 02094D20 */ rbrew_write32(cpu->mem, _t57, cpu->r[24]);
|
|
/* 02094D24 */ _t58 = cpu->r[28] + 0x00000000u;
|
|
/* 02094D24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02094D28 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094D2C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02094D30 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02094D34 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02094D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000006u);
|
|
/* 02094D3C */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094D3C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02094D3C */ if (_t60) goto L_02094C60; else goto L_02094D40;
|
|
L_02094D40: ; // 0x2094d40
|
|
/* 02094D40 */ /* nop */
|
|
/* 02094D44 */ _t61 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02094D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02094D48 */ cpu->lr = cpu->r[0];
|
|
/* 02094D4C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02094D50 */ return;
|
|
}
|
|
|
|
// fn_02094D54 @ 0x2094d54
|
|
void Gambit_fn_02094D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02094D54: ; // 0x2094d54
|
|
/* 02094D54 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02094D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094D54 */ cpu->r[1] = _t0;
|
|
/* 02094D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02094D5C */ /* nop */
|
|
/* 02094D60 */ cpu->r[28] = 0x00000006u;
|
|
/* 02094D64 */ cpu->r[27] = cpu->r[3];
|
|
/* 02094D68 */ cpu->r[25] = 0x10010000u;
|
|
/* 02094D6C */ cpu->r[31] = cpu->r[27] + 0x0000023Cu;
|
|
/* 02094D70 */ cpu->r[26] = cpu->r[27] + 0x00000238u;
|
|
/* 02094D74 */ cpu->r[25] = cpu->r[25] + 0xFFFFECDCu;
|
|
/* 02094D78 */ cpu->r[30] = 0x10010000u;
|
|
/* 02094D7C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02094D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02094D80 */ cpu->r[29] = 0x10010000u;
|
|
/* 02094D84 */ cpu->r[30] = cpu->r[30] + 0xFFFFECF0u;
|
|
/* 02094D88 */ cpu->r[29] = cpu->r[29] + 0xFFFFE99Cu;
|
|
L_02094D8C: ; // 0x2094d8c
|
|
/* 02094D8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094D8C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02094D90 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094D94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02094D98 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094D9C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02094D9C */ rbrew_write32(cpu->mem, _t3, cpu->r[25]);
|
|
/* 02094DA0 */ Gambit_fn_020A7150(cpu);
|
|
/* 02094DA4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094DA8 */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 02094DA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02094DAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02094DB0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094DB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02094DB4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094DB8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02094DB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02094DBC */ Gambit_fn_020A7150(cpu);
|
|
/* 02094DC0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02094DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02094DC4 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02094DC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02094DC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094DC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02094DC8 */ if (_t9) goto L_02094DCC; else goto L_02094D8C;
|
|
L_02094DCC: ; // 0x2094dcc
|
|
/* 02094DCC */ cpu->r[0] = 0x10010000u;
|
|
/* 02094DD0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02094DD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02094DD4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094DD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFECCCu;
|
|
/* 02094DDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02094DE0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094DE4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02094DE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02094DE8 */ Gambit_fn_020A7150(cpu);
|
|
/* 02094DEC */ cpu->r[0] = 0x10010000u;
|
|
/* 02094DF0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02094DF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02094DF4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094DF8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC9Cu;
|
|
/* 02094DFC */ _t13 = cpu->r[27] + 0x00000248u;
|
|
/* 02094DFC */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02094E00 */ cpu->r[3] = 0x00000000u;
|
|
/* 02094E04 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094E08 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02094E08 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02094E0C */ Gambit_fn_020A7150(cpu);
|
|
/* 02094E10 */ _t15 = cpu->r[27] + 0x00000240u;
|
|
/* 02094E10 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02094E14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02094E18 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094E1C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02094E1C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02094E20 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094E24 */ cpu->r[0] = cpu->r[0] + 0xFFFFECB4u;
|
|
/* 02094E28 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094E2C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02094E2C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02094E30 */ Gambit_fn_020A7150(cpu);
|
|
/* 02094E34 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094E38 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094E3C */ _t18 = cpu->r[27] + 0x00000244u;
|
|
/* 02094E3C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02094E40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02094E44 */ cpu->r[0] = cpu->r[0] + 0xFFFFED04u;
|
|
/* 02094E48 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02094E48 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02094E4C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094E50 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02094E50 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02094E54 */ Gambit_fn_020A7150(cpu);
|
|
/* 02094E58 */ cpu->r[10] = 0x10010000u;
|
|
/* 02094E5C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02094E5C */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02094E60 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02094E64 */ cpu->r[10] = cpu->r[10] + 0xFFFFED10u;
|
|
/* 02094E68 */ _t22 = cpu->r[27] + 0x0000024Cu;
|
|
/* 02094E68 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02094E6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02094E70 */ cpu->r[4] = cpu->r[27];
|
|
/* 02094E74 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02094E74 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02094E78 */ Gambit_fn_020A7150(cpu);
|
|
/* 02094E7C */ _t24 = cpu->r[27] + 0x00000250u;
|
|
/* 02094E7C */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 02094E80 */ /* nop */
|
|
/* 02094E84 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02094E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02094E88 */ cpu->lr = cpu->r[0];
|
|
/* 02094E8C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02094E90 */ return;
|
|
}
|
|
|
|
// fn_02094E94 @ 0x2094e94
|
|
void Gambit_fn_02094E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02094E94: ; // 0x2094e94
|
|
/* 02094E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02094E98 */ cpu->r[12] = 0x10010000u;
|
|
/* 02094E9C */ cpu->r[12] = cpu->r[12] + 0xFFFFED30u;
|
|
/* 02094EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02094EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094EA0 */ cpu->r[1] = _t0;
|
|
/* 02094EA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02094EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02094EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02094EAC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02094EAC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02094EB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02094EB4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094EB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02094EB8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094EBC */ _t5 = cpu->r[31] + 0x00000090u;
|
|
/* 02094EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02094EC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE99Cu;
|
|
/* 02094EC4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094EC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02094EC8 */ _t7 = cpu->r[8] + 0x00000014u;
|
|
/* 02094EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02094ECC */ cpu->ctr = cpu->r[9];
|
|
/* 02094ED0 */ cpu->r[3] = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094ED4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094ED8 */ _t8 = cpu->r[31] + 0x00000090u;
|
|
/* 02094ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094EDC */ _t9 = cpu->r[10] + 0x00000014u;
|
|
/* 02094EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02094EE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02094EE4 */ cpu->r[3] = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094EE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094EEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02094EF0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02094EF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02094EF4 */ cpu->ctr = cpu->r[9];
|
|
/* 02094EF8 */ _t12 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094EFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02094F00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094F04 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02094F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02094F0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02094F0C */ if (_t15) goto L_02094F10; else goto L_02094F18;
|
|
L_02094F10: ; // 0x2094f10
|
|
/* 02094F10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02094F14 */ goto L_02094F5C;
|
|
L_02094F18: ; // 0x2094f18
|
|
/* 02094F18 */ cpu->r[8] = 0x00080000u;
|
|
/* 02094F1C */ _t16 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094F1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02094F20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02094F24 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02094F28 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02094F28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02094F2C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02094F30 */ cpu->ctr = cpu->r[8];
|
|
/* 02094F34 */ _t18 = cpu->r[12] + 0x00007399u;
|
|
/* 02094F34 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02094F38 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02094F3C: ; // 0x2094f3c
|
|
/* 02094F3C */ _t19 = cpu->r[9] + 0x00000001u;
|
|
/* 02094F3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02094F3C */ cpu->r[9] = _t19;
|
|
/* 02094F40 */ _t20 = cpu->r[11] + 0x00000001u;
|
|
/* 02094F40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02094F40 */ cpu->r[11] = _t20;
|
|
/* 02094F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02094F48 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F48 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02094F48 */ if (_t22) goto L_02094F4C; else goto L_02094F58;
|
|
L_02094F4C: ; // 0x2094f4c
|
|
/* 02094F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02094F50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02094F50 */ if (_t24) goto L_02094F10; else goto L_02094F54;
|
|
L_02094F54: ; // 0x2094f54
|
|
/* 02094F54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02094F54 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02094F54 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02094F54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02094F54 */ if (_t27) goto L_02094F3C; else goto L_02094F58;
|
|
L_02094F58: ; // 0x2094f58
|
|
/* 02094F58 */ cpu->r[3] = 0x00000000u;
|
|
L_02094F5C: ; // 0x2094f5c
|
|
/* 02094F5C */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02094F60 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02094F60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02094F64 */ cpu->lr = cpu->r[0];
|
|
/* 02094F68 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02094F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02094F6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02094F70 */ return;
|
|
}
|
|
|
|
// fn_02094EA0 @ 0x2094ea0
|
|
void Gambit_fn_02094EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02094EA0: ; // 0x2094ea0
|
|
/* 02094EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02094EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094EA0 */ cpu->r[1] = _t0;
|
|
/* 02094EA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02094EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02094EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02094EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02094EAC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02094EAC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02094EB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02094EB4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094EB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02094EB8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094EBC */ _t5 = cpu->r[31] + 0x00000090u;
|
|
/* 02094EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02094EC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE99Cu;
|
|
/* 02094EC4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094EC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02094EC8 */ _t7 = cpu->r[8] + 0x00000014u;
|
|
/* 02094EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02094ECC */ cpu->ctr = cpu->r[9];
|
|
/* 02094ED0 */ cpu->r[3] = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094ED4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094ED8 */ _t8 = cpu->r[31] + 0x00000090u;
|
|
/* 02094ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02094EDC */ _t9 = cpu->r[10] + 0x00000014u;
|
|
/* 02094EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02094EE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02094EE4 */ cpu->r[3] = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094EE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094EEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02094EF0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02094EF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02094EF4 */ cpu->ctr = cpu->r[9];
|
|
/* 02094EF8 */ _t12 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094EFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02094F00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02094F04 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02094F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02094F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02094F0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02094F0C */ if (_t15) goto L_02094F10; else goto L_02094F18;
|
|
L_02094F10: ; // 0x2094f10
|
|
/* 02094F10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02094F14 */ goto L_02094F5C;
|
|
L_02094F18: ; // 0x2094f18
|
|
/* 02094F18 */ cpu->r[8] = 0x00080000u;
|
|
/* 02094F1C */ _t16 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02094F1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02094F20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02094F24 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02094F28 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02094F28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02094F2C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02094F30 */ cpu->ctr = cpu->r[8];
|
|
/* 02094F34 */ _t18 = cpu->r[12] + 0x00007399u;
|
|
/* 02094F34 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02094F38 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02094F3C: ; // 0x2094f3c
|
|
/* 02094F3C */ _t19 = cpu->r[9] + 0x00000001u;
|
|
/* 02094F3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02094F3C */ cpu->r[9] = _t19;
|
|
/* 02094F40 */ _t20 = cpu->r[11] + 0x00000001u;
|
|
/* 02094F40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02094F40 */ cpu->r[11] = _t20;
|
|
/* 02094F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02094F48 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F48 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02094F48 */ if (_t22) goto L_02094F4C; else goto L_02094F58;
|
|
L_02094F4C: ; // 0x2094f4c
|
|
/* 02094F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02094F50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02094F50 */ if (_t24) goto L_02094F10; else goto L_02094F54;
|
|
L_02094F54: ; // 0x2094f54
|
|
/* 02094F54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02094F54 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02094F54 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02094F54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02094F54 */ if (_t27) goto L_02094F3C; else goto L_02094F58;
|
|
L_02094F58: ; // 0x2094f58
|
|
/* 02094F58 */ cpu->r[3] = 0x00000000u;
|
|
L_02094F5C: ; // 0x2094f5c
|
|
/* 02094F5C */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02094F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02094F60 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02094F60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02094F64 */ cpu->lr = cpu->r[0];
|
|
/* 02094F68 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02094F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02094F6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02094F70 */ return;
|
|
}
|
|
|
|
// fn_02094F74 @ 0x2094f74
|
|
void Gambit_fn_02094F74(CPUState* 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_02094F74: ; // 0x2094f74
|
|
/* 02094F74 */ cpu->r[0] = cpu->lr;
|
|
/* 02094F78 */ cpu->r[7] = 0x10010000u;
|
|
/* 02094F7C */ cpu->r[10] = 0x10010000u;
|
|
/* 02094F80 */ cpu->r[7] = cpu->r[7] + 0xFFFFE99Cu;
|
|
/* 02094F84 */ cpu->r[10] = cpu->r[10] + 0xFFFFED40u;
|
|
/* 02094F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 02094F8C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02094F8C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02094F90 */ cpu->r[0] = 0x10010000u;
|
|
/* 02094F94 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02094F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02094F94 */ cpu->r[1] = _t1;
|
|
/* 02094F98 */ cpu->r[0] = cpu->r[0] + 0xFFFFED48u;
|
|
/* 02094F9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F9C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02094F9C */ if (_t3) goto L_02094FA8; else goto L_02094FA0;
|
|
L_02094FA0: ; // 0x2094fa0
|
|
/* 02094FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02094FA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02094FA4 */ if (_t5) goto L_02094FA8; else goto L_02094FE4;
|
|
L_02094FA8: ; // 0x2094fa8
|
|
/* 02094FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02094FAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02094FAC */ if (_t7) goto L_02094FB4; else goto L_02094FB0;
|
|
L_02094FB0: ; // 0x2094fb0
|
|
/* 02094FB0 */ cpu->r[10] = cpu->r[0];
|
|
L_02094FB4: ; // 0x2094fb4
|
|
/* 02094FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02094FB8 */ cpu->r[11] = cpu->r[3] + 0x00000218u;
|
|
/* 02094FBC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094FBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02094FBC */ if (_t9) goto L_02094FC0; else goto L_02094FC8;
|
|
L_02094FC0: ; // 0x2094fc0
|
|
/* 02094FC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02094FC4 */ cpu->r[11] = cpu->r[11] + cpu->r[9];
|
|
L_02094FC8: ; // 0x2094fc8
|
|
/* 02094FC8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094FC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02094FCC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094FD0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02094FD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02094FD4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02094FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02094FD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094FDC */ Gambit_fn_027EDD5C(cpu);
|
|
/* 02094FE0 */ goto L_0209501C;
|
|
L_02094FE4: ; // 0x2094fe4
|
|
/* 02094FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02094FE8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FE8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02094FE8 */ if (_t14) goto L_02094FF0; else goto L_02094FEC;
|
|
L_02094FEC: ; // 0x2094fec
|
|
/* 02094FEC */ cpu->r[0] = cpu->r[10];
|
|
L_02094FF0: ; // 0x2094ff0
|
|
/* 02094FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02094FF4 */ cpu->r[12] = cpu->r[3] + 0x00000218u;
|
|
/* 02094FF8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094FF8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02094FF8 */ if (_t16) goto L_02094FFC; else goto L_02095004;
|
|
L_02094FFC: ; // 0x2094ffc
|
|
/* 02094FFC */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095000 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
L_02095004: ; // 0x2095004
|
|
/* 02095004 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02095004 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02095008 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209500C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209500C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02095010 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02095010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095014 */ cpu->r[4] = 0x00000000u;
|
|
/* 02095018 */ Gambit_fn_027EDD5C(cpu);
|
|
L_0209501C: ; // 0x209501c
|
|
/* 0209501C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209501C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02095020 */ cpu->lr = cpu->r[0];
|
|
/* 02095024 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02095028 */ return;
|
|
}
|
|
|
|
// fn_02094F94 @ 0x2094f94
|
|
void Gambit_fn_02094F94(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_02094F94: ; // 0x2094f94
|
|
/* 02094F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02094F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02094F94 */ cpu->r[1] = _t0;
|
|
/* 02094F98 */ cpu->r[0] = cpu->r[0] + 0xFFFFED48u;
|
|
/* 02094F9C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094F9C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02094F9C */ if (_t2) goto L_02094FA8; else goto L_02094FA0;
|
|
L_02094FA0: ; // 0x2094fa0
|
|
/* 02094FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02094FA4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FA4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02094FA4 */ if (_t4) goto L_02094FA8; else goto L_02094FE4;
|
|
L_02094FA8: ; // 0x2094fa8
|
|
/* 02094FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02094FAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02094FAC */ if (_t6) goto L_02094FB4; else goto L_02094FB0;
|
|
L_02094FB0: ; // 0x2094fb0
|
|
/* 02094FB0 */ cpu->r[10] = cpu->r[0];
|
|
L_02094FB4: ; // 0x2094fb4
|
|
/* 02094FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02094FB8 */ cpu->r[11] = cpu->r[3] + 0x00000218u;
|
|
/* 02094FBC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094FBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02094FBC */ if (_t8) goto L_02094FC0; else goto L_02094FC8;
|
|
L_02094FC0: ; // 0x2094fc0
|
|
/* 02094FC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02094FC4 */ cpu->r[11] = cpu->r[11] + cpu->r[9];
|
|
L_02094FC8: ; // 0x2094fc8
|
|
/* 02094FC8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02094FC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02094FCC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02094FD0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02094FD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02094FD4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02094FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02094FD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02094FDC */ Gambit_fn_027EDD5C(cpu);
|
|
/* 02094FE0 */ goto L_0209501C;
|
|
L_02094FE4: ; // 0x2094fe4
|
|
/* 02094FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02094FE8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02094FE8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02094FE8 */ if (_t13) goto L_02094FF0; else goto L_02094FEC;
|
|
L_02094FEC: ; // 0x2094fec
|
|
/* 02094FEC */ cpu->r[0] = cpu->r[10];
|
|
L_02094FF0: ; // 0x2094ff0
|
|
/* 02094FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02094FF4 */ cpu->r[12] = cpu->r[3] + 0x00000218u;
|
|
/* 02094FF8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02094FF8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02094FF8 */ if (_t15) goto L_02094FFC; else goto L_02095004;
|
|
L_02094FFC: ; // 0x2094ffc
|
|
/* 02094FFC */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095000 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
L_02095004: ; // 0x2095004
|
|
/* 02095004 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02095004 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02095008 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209500C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0209500C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02095010 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02095010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02095014 */ cpu->r[4] = 0x00000000u;
|
|
/* 02095018 */ Gambit_fn_027EDD5C(cpu);
|
|
L_0209501C: ; // 0x209501c
|
|
/* 0209501C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209501C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095020 */ cpu->lr = cpu->r[0];
|
|
/* 02095024 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02095028 */ return;
|
|
}
|
|
|
|
// fn_02095030 @ 0x2095030
|
|
void Gambit_fn_02095030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02095030: ; // 0x2095030
|
|
/* 02095030 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02095030 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095030 */ cpu->r[1] = _t0;
|
|
/* 02095034 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02095034 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02095038 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02095038 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209503C */ cpu->r[30] = cpu->r[3];
|
|
/* 02095040 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02095040 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02095044 */ _t4 = cpu->r[30] + 0x000001E4u;
|
|
/* 02095044 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02095048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209504C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209504C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209504C */ if (_t6) goto L_02095050; else goto L_020953A8;
|
|
L_02095050: ; // 0x2095050
|
|
/* 02095050 */ cpu->r[31] = 0x10010000u;
|
|
/* 02095054 */ cpu->r[8] = 0x10010000u;
|
|
/* 02095058 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209505C */ cpu->r[31] = cpu->r[31] + 0xFFFFE99Cu;
|
|
/* 02095060 */ cpu->r[8] = cpu->r[8] + 0xFFFFED54u;
|
|
/* 02095064 */ _t7 = cpu->r[12] + 0xFFFFED50u;
|
|
/* 02095064 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02095068 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209506C */ cpu->r[3] = cpu->r[30];
|
|
/* 02095070 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02095070 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02095074 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02095078 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02095078 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0209507C */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02095080 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095084 */ Gambit_fn_021729AC(cpu);
|
|
/* 02095088 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209508C */ Gambit_fn_02172AD8(cpu);
|
|
/* 02095090 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02095090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02095094 */ cpu->r[8] = 0x00000000u;
|
|
/* 02095098 */ _t11 = cpu->r[30] + 0x00000258u;
|
|
/* 02095098 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0209509C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0209509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020950A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 020950A4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 020950A4 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 020950A8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020950AC */ _t14 = cpu->r[30] + 0x0000025Cu;
|
|
/* 020950AC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 020950B0 */ Gambit_fn_02172A58(cpu);
|
|
/* 020950B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 020950B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 020950BC */ _t15 = cpu->r[30] + 0x00000260u;
|
|
/* 020950BC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[3]);
|
|
/* 020950C0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020950C4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 020950C4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 020950C8 */ Gambit_fn_02172A58(cpu);
|
|
/* 020950CC */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 020950D0 */ _t17 = cpu->r[30] + 0x00000240u;
|
|
/* 020950D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020950D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 020950D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020950D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 020950DC */ _t18 = cpu->r[30] + 0x00000261u;
|
|
/* 020950DC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 020950E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020950E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 020950E0 */ if (_t20) goto L_020950E8; else goto L_020950E4;
|
|
L_020950E4: ; // 0x20950e4
|
|
/* 020950E4 */ cpu->r[4] = 0x00000003u;
|
|
L_020950E8: ; // 0x20950e8
|
|
/* 020950E8 */ cpu->r[5] = 0x00000003u;
|
|
/* 020950EC */ Gambit_fn_020A7D70(cpu);
|
|
/* 020950F0 */ _t21 = cpu->r[30] + 0x00000240u;
|
|
/* 020950F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020950F4 */ Gambit_fn_020A7E60(cpu);
|
|
/* 020950F8 */ _t22 = cpu->r[30] + 0x00000260u;
|
|
/* 020950F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 020950FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02095100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095104 */ _t23 = cpu->r[30] + 0x00000244u;
|
|
/* 02095104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02095108 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095108 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02095108 */ if (_t25) goto L_02095110; else goto L_0209510C;
|
|
L_0209510C: ; // 0x209510c
|
|
/* 0209510C */ cpu->r[4] = 0x00000005u;
|
|
L_02095110: ; // 0x2095110
|
|
/* 02095110 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095114 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095118 */ _t26 = cpu->r[30] + 0x00000244u;
|
|
/* 02095118 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209511C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095120 */ _t27 = cpu->r[30] + 0x0000025Cu;
|
|
/* 02095120 */ cpu->r[5] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02095124 */ cpu->r[3] = cpu->r[30];
|
|
/* 02095128 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209512C */ Gambit_fn_02094F74(cpu);
|
|
/* 02095130 */ _t28 = cpu->r[30] + 0x0000025Du;
|
|
/* 02095130 */ cpu->r[5] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02095134 */ cpu->r[3] = cpu->r[30];
|
|
/* 02095138 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209513C */ Gambit_fn_02094F74(cpu);
|
|
/* 02095140 */ _t29 = cpu->r[30] + 0x0000025Eu;
|
|
/* 02095140 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02095144 */ cpu->r[3] = cpu->r[30];
|
|
/* 02095148 */ cpu->r[4] = 0x00000002u;
|
|
/* 0209514C */ Gambit_fn_02094F74(cpu);
|
|
/* 02095150 */ _t30 = cpu->r[30] + 0x0000025Eu;
|
|
/* 02095150 */ cpu->r[9] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02095154 */ cpu->r[5] = 0x00000000u;
|
|
/* 02095158 */ cpu->r[4] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0209515C */ _t31 = cpu->r[30] + 0x00000218u;
|
|
/* 0209515C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02095160 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02095164 */ Gambit_fn_020BDD60(cpu);
|
|
/* 02095168 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209516C */ _t32 = cpu->r[12] + 0xFFFF957Cu;
|
|
/* 0209516C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02095170 */ _t33 = cpu->r[12] + 0x00000018u;
|
|
/* 02095170 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02095174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095178 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095178 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02095178 */ if (_t35) goto L_0209517C; else goto L_02095210;
|
|
L_0209517C: ; // 0x209517c
|
|
/* 0209517C */ cpu->r[4] = 0x00000000u;
|
|
/* 02095180 */ _t36 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02095180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02095184 */ cpu->r[5] = cpu->r[4];
|
|
/* 02095188 */ Gambit_fn_020BDD60(cpu);
|
|
/* 0209518C */ _t37 = cpu->r[30] + 0x00000250u;
|
|
/* 0209518C */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02095190 */ cpu->r[4] = 0x000000C8u;
|
|
/* 02095194 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095198 */ Gambit_fn_020A7D70(cpu);
|
|
/* 0209519C */ _t38 = cpu->r[30] + 0x00000250u;
|
|
/* 0209519C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 020951A0 */ Gambit_fn_020A7E60(cpu);
|
|
/* 020951A4 */ _t39 = cpu->r[30] + 0x00000258u;
|
|
/* 020951A4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 020951A8 */ _t40 = cpu->r[30] + 0x00000214u;
|
|
/* 020951A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 020951AC */ Gambit_fn_020C0324(cpu);
|
|
/* 020951B0 */ Gambit_fn_027FAD20(cpu);
|
|
/* 020951B4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 020951B4 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 020951B8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020951BC */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 020951BC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 020951C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFED58u;
|
|
/* 020951C4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020951C4 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 020951C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020951CC */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 020951CC */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 020951D0 */ Gambit_fn_02096574(cpu);
|
|
/* 020951D4 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 020951D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 020951D8 */ _t46 = cpu->r[9] + 0x00000014u;
|
|
/* 020951D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 020951DC */ cpu->ctr = cpu->r[10];
|
|
/* 020951E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020951E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020951E8 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 020951E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 020951EC */ _t48 = cpu->r[11] + 0x00000014u;
|
|
/* 020951EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 020951F0 */ cpu->ctr = cpu->r[12];
|
|
/* 020951F4 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020951F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 020951F8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 020951FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095200 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02095200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02095204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02095208 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095208 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02095208 */ if (_t52) goto L_0209538C; else goto L_0209520C;
|
|
L_0209520C: ; // 0x209520c
|
|
/* 0209520C */ goto L_0209533C;
|
|
L_02095210: ; // 0x2095210
|
|
/* 02095210 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02095214 */ _t53 = cpu->r[10] + 0xFFFF9558u;
|
|
/* 02095214 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02095218 */ _t54 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02095218 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0209521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095220 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095220 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02095220 */ if (_t56) goto L_02095230; else goto L_02095224;
|
|
L_02095224: ; // 0x2095224
|
|
/* 02095224 */ _t57 = cpu->r[10] + 0x00000020u;
|
|
/* 02095224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02095228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0209522C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209522C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209522C */ if (_t59) goto L_02095230; else goto L_020952C4;
|
|
L_02095230: ; // 0x2095230
|
|
/* 02095230 */ cpu->r[4] = 0x00000000u;
|
|
/* 02095234 */ _t60 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02095234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02095238 */ cpu->r[5] = cpu->r[4];
|
|
/* 0209523C */ Gambit_fn_020BDD60(cpu);
|
|
/* 02095240 */ _t61 = cpu->r[30] + 0x00000250u;
|
|
/* 02095240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02095244 */ cpu->r[4] = 0x000000C9u;
|
|
/* 02095248 */ cpu->r[5] = 0x00000003u;
|
|
/* 0209524C */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095250 */ _t62 = cpu->r[30] + 0x00000250u;
|
|
/* 02095250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02095254 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095258 */ _t63 = cpu->r[30] + 0x00000258u;
|
|
/* 02095258 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0209525C */ _t64 = cpu->r[30] + 0x00000214u;
|
|
/* 0209525C */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02095260 */ Gambit_fn_020C0324(cpu);
|
|
/* 02095264 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02095268 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02095268 */ rbrew_write32(cpu->mem, _t65, cpu->r[31]);
|
|
/* 0209526C */ cpu->r[0] = 0x10010000u;
|
|
/* 02095270 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02095270 */ rbrew_write32(cpu->mem, _t66, cpu->r[31]);
|
|
/* 02095274 */ cpu->r[0] = cpu->r[0] + 0xFFFFED58u;
|
|
/* 02095278 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095278 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 0209527C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095280 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 02095280 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02095284 */ Gambit_fn_02096574(cpu);
|
|
/* 02095288 */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 02095288 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0209528C */ _t70 = cpu->r[9] + 0x00000014u;
|
|
/* 0209528C */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02095290 */ cpu->ctr = cpu->r[10];
|
|
/* 02095294 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209529C */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 0209529C */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 020952A0 */ _t72 = cpu->r[11] + 0x00000014u;
|
|
/* 020952A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 020952A4 */ cpu->ctr = cpu->r[12];
|
|
/* 020952A8 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020952A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 020952AC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 020952B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020952B4 */ _t74 = cpu->r[1] + 0x00000014u;
|
|
/* 020952B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 020952B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 020952BC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020952BC */ _t76 = _t75 & 0x00000001u;
|
|
/* 020952BC */ if (_t76) goto L_0209538C; else goto L_020952C0;
|
|
L_020952C0: ; // 0x20952c0
|
|
/* 020952C0 */ goto L_0209533C;
|
|
L_020952C4: ; // 0x20952c4
|
|
/* 020952C4 */ _t77 = cpu->r[30] + 0x0000022Cu;
|
|
/* 020952C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 020952C8 */ cpu->r[5] = 0x00000000u;
|
|
/* 020952CC */ cpu->r[4] = 0x00000001u;
|
|
/* 020952D0 */ Gambit_fn_020BDD60(cpu);
|
|
/* 020952D4 */ _t78 = cpu->r[30] + 0x00000214u;
|
|
/* 020952D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 020952D8 */ _t79 = cpu->r[30] + 0x00000258u;
|
|
/* 020952D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 020952DC */ Gambit_fn_020C0324(cpu);
|
|
/* 020952E0 */ Gambit_fn_027FAD20(cpu);
|
|
/* 020952E4 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 020952E4 */ rbrew_write32(cpu->mem, _t80, cpu->r[31]);
|
|
/* 020952E8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020952EC */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020952EC */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 020952F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFED58u;
|
|
/* 020952F4 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 020952F4 */ rbrew_write32(cpu->mem, _t82, cpu->r[31]);
|
|
/* 020952F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 020952FC */ _t83 = cpu->r[1] + 0x00000014u;
|
|
/* 020952FC */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 02095300 */ Gambit_fn_02096574(cpu);
|
|
/* 02095304 */ _t84 = cpu->r[1] + 0x00000010u;
|
|
/* 02095304 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02095308 */ _t85 = cpu->r[9] + 0x00000014u;
|
|
/* 02095308 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0209530C */ cpu->ctr = cpu->r[10];
|
|
/* 02095310 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095318 */ _t86 = cpu->r[1] + 0x00000018u;
|
|
/* 02095318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0209531C */ _t87 = cpu->r[11] + 0x00000014u;
|
|
/* 0209531C */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02095320 */ cpu->ctr = cpu->r[12];
|
|
/* 02095324 */ _t88 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02095328 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0209532C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095330 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02095330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02095334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02095338 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095338 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02095338 */ if (_t91) goto L_0209538C; else goto L_0209533C;
|
|
L_0209533C: ; // 0x209533c
|
|
/* 0209533C */ cpu->r[9] = 0x00080000u;
|
|
/* 02095340 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02095344 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02095348 */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 02095348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209534C */ cpu->ctr = cpu->r[9];
|
|
/* 02095350 */ cpu->r[9] = 0x10110000u;
|
|
/* 02095354 */ _t94 = cpu->r[9] + 0x00007399u;
|
|
/* 02095354 */ cpu->r[9] = rbrew_read8(cpu->mem, _t94);
|
|
/* 02095358 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0209535C: ; // 0x209535c
|
|
/* 0209535C */ _t95 = cpu->r[11] + 0x00000000u;
|
|
/* 0209535C */ cpu->r[10] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02095360 */ _t96 = cpu->r[12] + 0x00000001u;
|
|
/* 02095360 */ cpu->r[8] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02095360 */ cpu->r[12] = _t96;
|
|
/* 02095364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 02095368 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095368 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02095368 */ if (_t98) goto L_0209536C; else goto L_0209539C;
|
|
L_0209536C: ; // 0x209536c
|
|
/* 0209536C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02095370 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095370 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02095370 */ if (_t100) goto L_0209538C; else goto L_02095374;
|
|
L_02095374: ; // 0x2095374
|
|
/* 02095374 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02095378 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02095378 */ _t101 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02095378 */ _t102 = _t101 >> (0x00000002u & 31u);
|
|
/* 02095378 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02095378 */ if (_t103) goto L_0209535C; else goto L_0209537C;
|
|
L_0209537C: ; // 0x209537c
|
|
/* 0209537C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095380 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095384 */ Gambit_fn_02172A44(cpu);
|
|
/* 02095388 */ goto L_020953A8;
|
|
L_0209538C: ; // 0x209538c
|
|
/* 0209538C */ cpu->r[4] = 0x00000001u;
|
|
/* 02095390 */ _t104 = cpu->r[30] + 0x00000264u;
|
|
/* 02095390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02095394 */ cpu->r[5] = cpu->r[4];
|
|
/* 02095398 */ Gambit_fn_020BDD60(cpu);
|
|
L_0209539C: ; // 0x209539c
|
|
/* 0209539C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020953A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 020953A4 */ Gambit_fn_02172A44(cpu);
|
|
L_020953A8: ; // 0x20953a8
|
|
/* 020953A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020953AC */ cpu->r[4] = 0x00000000u;
|
|
/* 020953B0 */ Gambit_fn_027EDF00(cpu);
|
|
/* 020953B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020953B8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020953B8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 020953B8 */ if (_t106) goto L_020953C8; else goto L_020953BC;
|
|
L_020953BC: ; // 0x20953bc
|
|
/* 020953BC */ cpu->r[3] = cpu->r[30] + 0x000001DCu;
|
|
/* 020953C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 020953C4 */ Gambit_fn_02090220(cpu);
|
|
L_020953C8: ; // 0x20953c8
|
|
/* 020953C8 */ _t107 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020953C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 020953CC */ _t108 = cpu->r[1] + 0x00000030u;
|
|
/* 020953CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t108);
|
|
/* 020953D0 */ cpu->lr = cpu->r[0];
|
|
/* 020953D4 */ _t109 = cpu->r[1] + 0x00000034u;
|
|
/* 020953D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t109);
|
|
/* 020953D8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 020953DC */ return;
|
|
}
|
|
|
|
// fn_020953E0 @ 0x20953e0
|
|
void Gambit_fn_020953E0(CPUState* cpu) {
|
|
uint32_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_020953E0: ; // 0x20953e0
|
|
/* 020953E0 */ cpu->r[0] = cpu->lr;
|
|
/* 020953E4 */ cpu->r[7] = 0x10010000u;
|
|
/* 020953E8 */ cpu->r[10] = 0x10010000u;
|
|
/* 020953EC */ cpu->r[7] = cpu->r[7] + 0xFFFFE99Cu;
|
|
/* 020953F0 */ cpu->r[10] = cpu->r[10] + 0xFFFFED64u;
|
|
/* 020953F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 020953F8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 020953F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 020953FC */ cpu->r[0] = 0x10010000u;
|
|
/* 02095400 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095400 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02095400 */ cpu->r[1] = _t1;
|
|
/* 02095404 */ cpu->r[0] = cpu->r[0] + 0xFFFFED6Cu;
|
|
/* 02095408 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095408 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02095408 */ if (_t3) goto L_02095414; else goto L_0209540C;
|
|
L_0209540C: ; // 0x209540c
|
|
/* 0209540C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02095410 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095410 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02095410 */ if (_t5) goto L_02095414; else goto L_02095458;
|
|
L_02095414: ; // 0x2095414
|
|
/* 02095414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02095418 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095418 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02095418 */ if (_t7) goto L_02095420; else goto L_0209541C;
|
|
L_0209541C: ; // 0x209541c
|
|
/* 0209541C */ cpu->r[10] = cpu->r[0];
|
|
L_02095420: ; // 0x2095420
|
|
/* 02095420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02095424 */ cpu->r[11] = cpu->r[3] + 0x00000218u;
|
|
/* 02095428 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095428 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02095428 */ if (_t9) goto L_0209542C; else goto L_02095434;
|
|
L_0209542C: ; // 0x209542c
|
|
/* 0209542C */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095430 */ cpu->r[11] = cpu->r[11] + cpu->r[6];
|
|
L_02095434: ; // 0x2095434
|
|
/* 02095434 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095434 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02095438 */ cpu->r[8] = 0x10010000u;
|
|
/* 0209543C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209543C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02095440 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02095440 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02095444 */ _t13 = cpu->r[8] + 0xFFFFED50u;
|
|
/* 02095444 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02095448 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209544C */ cpu->r[4] = 0x00000000u;
|
|
/* 02095450 */ Gambit_fn_027EDCA8(cpu);
|
|
/* 02095454 */ goto L_02095498;
|
|
L_02095458: ; // 0x2095458
|
|
/* 02095458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0209545C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209545C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209545C */ if (_t15) goto L_02095464; else goto L_02095460;
|
|
L_02095460: ; // 0x2095460
|
|
/* 02095460 */ cpu->r[0] = cpu->r[10];
|
|
L_02095464: ; // 0x2095464
|
|
/* 02095464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02095468 */ cpu->r[12] = cpu->r[3] + 0x00000218u;
|
|
/* 0209546C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209546C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209546C */ if (_t17) goto L_02095470; else goto L_02095478;
|
|
L_02095470: ; // 0x2095470
|
|
/* 02095470 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095474 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02095478: ; // 0x2095478
|
|
/* 02095478 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02095478 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0209547C */ cpu->r[8] = 0x10010000u;
|
|
/* 02095480 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02095480 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02095484 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02095484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02095488 */ _t21 = cpu->r[8] + 0xFFFFED50u;
|
|
/* 02095488 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0209548C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02095490 */ cpu->r[4] = 0x00000000u;
|
|
/* 02095494 */ Gambit_fn_027EDCA8(cpu);
|
|
L_02095498: ; // 0x2095498
|
|
/* 02095498 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209549C */ cpu->lr = cpu->r[0];
|
|
/* 020954A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020954A4 */ return;
|
|
}
|
|
|
|
// fn_02095400 @ 0x2095400
|
|
void Gambit_fn_02095400(CPUState* cpu) {
|
|
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_02095400: ; // 0x2095400
|
|
/* 02095400 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095400 */ cpu->r[1] = _t0;
|
|
/* 02095404 */ cpu->r[0] = cpu->r[0] + 0xFFFFED6Cu;
|
|
/* 02095408 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095408 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02095408 */ if (_t2) goto L_02095414; else goto L_0209540C;
|
|
L_0209540C: ; // 0x209540c
|
|
/* 0209540C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02095410 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095410 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02095410 */ if (_t4) goto L_02095414; else goto L_02095458;
|
|
L_02095414: ; // 0x2095414
|
|
/* 02095414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02095418 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095418 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02095418 */ if (_t6) goto L_02095420; else goto L_0209541C;
|
|
L_0209541C: ; // 0x209541c
|
|
/* 0209541C */ cpu->r[10] = cpu->r[0];
|
|
L_02095420: ; // 0x2095420
|
|
/* 02095420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02095424 */ cpu->r[11] = cpu->r[3] + 0x00000218u;
|
|
/* 02095428 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095428 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02095428 */ if (_t8) goto L_0209542C; else goto L_02095434;
|
|
L_0209542C: ; // 0x209542c
|
|
/* 0209542C */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095430 */ cpu->r[11] = cpu->r[11] + cpu->r[6];
|
|
L_02095434: ; // 0x2095434
|
|
/* 02095434 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095434 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02095438 */ cpu->r[8] = 0x10010000u;
|
|
/* 0209543C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0209543C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02095440 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02095440 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02095444 */ _t12 = cpu->r[8] + 0xFFFFED50u;
|
|
/* 02095444 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02095448 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209544C */ cpu->r[4] = 0x00000000u;
|
|
/* 02095450 */ Gambit_fn_027EDCA8(cpu);
|
|
/* 02095454 */ goto L_02095498;
|
|
L_02095458: ; // 0x2095458
|
|
/* 02095458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0209545C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209545C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209545C */ if (_t14) goto L_02095464; else goto L_02095460;
|
|
L_02095460: ; // 0x2095460
|
|
/* 02095460 */ cpu->r[0] = cpu->r[10];
|
|
L_02095464: ; // 0x2095464
|
|
/* 02095464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 02095468 */ cpu->r[12] = cpu->r[3] + 0x00000218u;
|
|
/* 0209546C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209546C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209546C */ if (_t16) goto L_02095470; else goto L_02095478;
|
|
L_02095470: ; // 0x2095470
|
|
/* 02095470 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02095474 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02095478: ; // 0x2095478
|
|
/* 02095478 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02095478 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 0209547C */ cpu->r[8] = 0x10010000u;
|
|
/* 02095480 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02095480 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02095484 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02095484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095488 */ _t20 = cpu->r[8] + 0xFFFFED50u;
|
|
/* 02095488 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0209548C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02095490 */ cpu->r[4] = 0x00000000u;
|
|
/* 02095494 */ Gambit_fn_027EDCA8(cpu);
|
|
L_02095498: ; // 0x2095498
|
|
/* 02095498 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209549C */ cpu->lr = cpu->r[0];
|
|
/* 020954A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020954A4 */ return;
|
|
}
|
|
|
|
// fn_020954AC @ 0x20954ac
|
|
void Gambit_fn_020954AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87;
|
|
|
|
L_020954AC: ; // 0x20954ac
|
|
/* 020954AC */ _t0 = cpu->r[1] + 0xFFFFFE68u;
|
|
/* 020954AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020954AC */ cpu->r[1] = _t0;
|
|
/* 020954B0 */ _t1 = cpu->r[1] + 0x0000018Cu;
|
|
/* 020954B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 020954B4 */ _t2 = cpu->r[1] + 0x00000194u;
|
|
/* 020954B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020954B8 */ _t3 = cpu->r[1] + 0x00000190u;
|
|
/* 020954B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 020954BC */ cpu->r[31] = cpu->r[3];
|
|
/* 020954C0 */ _t4 = cpu->r[1] + 0x0000019Cu;
|
|
/* 020954C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 020954C4 */ _t5 = cpu->r[31] + 0x000001E4u;
|
|
/* 020954C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020954C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 020954CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020954CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 020954CC */ if (_t7) goto L_020954D0; else goto L_020954E4;
|
|
L_020954D0: ; // 0x20954d0
|
|
/* 020954D0 */ _t8 = cpu->r[31] + 0x00000254u;
|
|
/* 020954D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 020954D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020954D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020954D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020954D8 */ if (_t10) goto L_020954DC; else goto L_020954E4;
|
|
L_020954DC: ; // 0x20954dc
|
|
/* 020954DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020954E0 */ Gambit_fn_020945BC(cpu);
|
|
L_020954E4: ; // 0x20954e4
|
|
/* 020954E4 */ _t11 = cpu->r[31] + 0x00000264u;
|
|
/* 020954E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020954E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 020954E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020954EC */ _t13 = cpu->r[12] + 0x0000008Cu;
|
|
/* 020954EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020954F0 */ cpu->ctr = cpu->r[12];
|
|
/* 020954F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020954F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020954FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020954FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 020954FC */ if (_t15) goto L_02095518; else goto L_02095500;
|
|
L_02095500: ; // 0x2095500
|
|
/* 02095500 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095504 */ Gambit_fn_0209458C(cpu);
|
|
/* 02095508 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0209550C */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02095510 */ Gambit_fn_02090220(cpu);
|
|
/* 02095514 */ goto L_02095768;
|
|
L_02095518: ; // 0x2095518
|
|
/* 02095518 */ _t16 = cpu->r[31] + 0x00000214u;
|
|
/* 02095518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209551C */ cpu->r[29] = 0x00000000u;
|
|
/* 02095520 */ Gambit_fn_020C0340(cpu);
|
|
/* 02095524 */ _t17 = cpu->r[31] + 0x00000258u;
|
|
/* 02095524 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02095528 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[1]);
|
|
/* 0209552C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209552C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209552C */ if (_t19) goto L_02095534; else goto L_02095530;
|
|
L_02095530: ; // 0x2095530
|
|
/* 02095530 */ cpu->r[29] = 0x00000001u;
|
|
L_02095534: ; // 0x2095534
|
|
/* 02095534 */ cpu->r[11] = 0x10010000u;
|
|
/* 02095538 */ _t20 = cpu->r[11] + 0xFFFFED74u;
|
|
/* 02095538 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0209553C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02095540 */ _t21 = cpu->r[31] + 0x00000218u;
|
|
/* 02095540 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02095544 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095544 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02095544 */ if (_t23) goto L_02095548; else goto L_0209556C;
|
|
L_02095548: ; // 0x2095548
|
|
/* 02095548 */ _t24 = cpu->r[31] + 0x00000258u;
|
|
/* 02095548 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 0209554C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0209554C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02095550 */ _t26 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02095550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02095554 */ cpu->ctr = cpu->r[10];
|
|
/* 02095558 */ cpu->r[30] = cpu->r[31] + 0x00000218u;
|
|
/* 0209555C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095564 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095564 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02095564 */ if (_t28) goto L_020955CC; else goto L_02095568;
|
|
L_02095568: ; // 0x2095568
|
|
/* 02095568 */ goto L_020955A0;
|
|
L_0209556C: ; // 0x209556c
|
|
/* 0209556C */ cpu->r[10] = 0x10010000u;
|
|
/* 02095570 */ _t29 = cpu->r[10] + 0xFFFFED50u;
|
|
/* 02095570 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02095574 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02095578 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02095578 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02095578 */ if (_t31) goto L_0209557C; else goto L_02095580;
|
|
L_0209557C: ; // 0x209557c
|
|
/* 0209557C */ cpu->f[1] = cpu->f[13];
|
|
L_02095580: ; // 0x2095580
|
|
/* 02095580 */ _t32 = cpu->r[31] + 0x00000258u;
|
|
/* 02095580 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
|
|
/* 02095584 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02095584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02095588 */ _t34 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02095588 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209558C */ cpu->ctr = cpu->r[10];
|
|
/* 02095590 */ cpu->r[30] = cpu->r[31] + 0x00000218u;
|
|
/* 02095594 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209559C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209559C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0209559C */ if (_t36) goto L_020955CC; else goto L_020955A0;
|
|
L_020955A0: ; // 0x20955a0
|
|
/* 020955A0 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 020955A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020955A4 */ _t38 = cpu->r[11] + 0x000001B5u;
|
|
/* 020955A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 020955A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020955AC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020955AC */ _t40 = _t39 & 0x00000001u;
|
|
/* 020955AC */ if (_t40) goto L_020955CC; else goto L_020955B0;
|
|
L_020955B0: ; // 0x20955b0
|
|
/* 020955B0 */ _t41 = cpu->r[31] + 0x0000025Cu;
|
|
/* 020955B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 020955B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020955B8 */ cpu->r[5] = cpu->r[0] ^ 0x00000001u;
|
|
/* 020955BC */ cpu->r[4] = 0x00000000u;
|
|
/* 020955C0 */ _t42 = cpu->r[31] + 0x0000025Cu;
|
|
/* 020955C0 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[5]);
|
|
/* 020955C4 */ Gambit_fn_020953E0(cpu);
|
|
/* 020955C8 */ cpu->r[29] = 0x00000001u;
|
|
L_020955CC: ; // 0x20955cc
|
|
/* 020955CC */ _t43 = cpu->r[30] + 0x00000004u;
|
|
/* 020955CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 020955D0 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 020955D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 020955D4 */ _t45 = cpu->r[10] + 0x0000008Cu;
|
|
/* 020955D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 020955D8 */ cpu->ctr = cpu->r[12];
|
|
/* 020955DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020955E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020955E4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020955E4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 020955E4 */ if (_t47) goto L_02095608; else goto L_020955E8;
|
|
L_020955E8: ; // 0x20955e8
|
|
/* 020955E8 */ _t48 = cpu->r[31] + 0x0000025Du;
|
|
/* 020955E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 020955EC */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
|
|
/* 020955F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020955F4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 020955F8 */ cpu->r[4] = 0x00000001u;
|
|
/* 020955FC */ _t49 = cpu->r[31] + 0x0000025Du;
|
|
/* 020955FC */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[5]);
|
|
/* 02095600 */ Gambit_fn_020953E0(cpu);
|
|
/* 02095604 */ cpu->r[29] = 0x00000001u;
|
|
L_02095608: ; // 0x2095608
|
|
/* 02095608 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 02095608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0209560C */ _t51 = cpu->r[3] + 0x00000000u;
|
|
/* 0209560C */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02095610 */ _t52 = cpu->r[10] + 0x0000008Cu;
|
|
/* 02095610 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02095614 */ cpu->ctr = cpu->r[11];
|
|
/* 02095618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209561C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095620 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095620 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02095620 */ if (_t54) goto L_02095680; else goto L_02095624;
|
|
L_02095624: ; // 0x2095624
|
|
/* 02095624 */ _t55 = cpu->r[31] + 0x0000025Eu;
|
|
/* 02095624 */ cpu->r[0] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02095628 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209562C */ cpu->r[5] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02095630 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095634 */ _t56 = cpu->r[31] + 0x0000025Eu;
|
|
/* 02095634 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[5]);
|
|
/* 02095638 */ Gambit_fn_020953E0(cpu);
|
|
/* 0209563C */ _t57 = cpu->r[31] + 0x0000025Eu;
|
|
/* 0209563C */ cpu->r[0] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02095640 */ cpu->r[4] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02095644 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02095648 */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 02095648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209564C */ Gambit_fn_020BDEA4(cpu);
|
|
/* 02095650 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095654 */ Gambit_fn_02173004(cpu);
|
|
/* 02095658 */ cpu->r[4] = cpu->r[31] + 0x00000258u;
|
|
/* 0209565C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095660 */ Gambit_fn_02173198(cpu);
|
|
/* 02095664 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095668 */ Gambit_fn_021730F4(cpu);
|
|
/* 0209566C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02095670 */ _t59 = cpu->r[3] + 0x00001D34u;
|
|
/* 02095670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02095674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095678 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095678 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02095678 */ if (_t61) goto L_020956BC; else goto L_0209567C;
|
|
L_0209567C: ; // 0x209567c
|
|
/* 0209567C */ goto L_020956B4;
|
|
L_02095680: ; // 0x2095680
|
|
/* 02095680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02095684 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095684 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02095684 */ if (_t63) goto L_020956D8; else goto L_02095688;
|
|
L_02095688: ; // 0x2095688
|
|
/* 02095688 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209568C */ Gambit_fn_02173004(cpu);
|
|
/* 02095690 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095694 */ cpu->r[4] = cpu->r[31] + 0x00000258u;
|
|
/* 02095698 */ Gambit_fn_02173198(cpu);
|
|
/* 0209569C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020956A0 */ Gambit_fn_021730F4(cpu);
|
|
/* 020956A4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 020956A8 */ _t64 = cpu->r[3] + 0x00001D34u;
|
|
/* 020956A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 020956AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020956B0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020956B0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 020956B0 */ if (_t66) goto L_020956BC; else goto L_020956B4;
|
|
L_020956B4: ; // 0x20956b4
|
|
/* 020956B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020956B8 */ Gambit_fn_020355E8(cpu);
|
|
L_020956BC: ; // 0x20956bc
|
|
/* 020956BC */ cpu->r[12] = 0x101C0000u;
|
|
/* 020956C0 */ cpu->r[10] = 0x00000001u;
|
|
/* 020956C4 */ _t67 = cpu->r[12] + 0x00001358u;
|
|
/* 020956C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 020956C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020956CC */ cpu->r[4] = 0x00000002u;
|
|
/* 020956D0 */ _t68 = cpu->r[12] + 0x000002F0u;
|
|
/* 020956D0 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[10]);
|
|
/* 020956D4 */ Gambit_fn_021730E0(cpu);
|
|
L_020956D8: ; // 0x20956d8
|
|
/* 020956D8 */ _t69 = cpu->r[30] + 0x00000010u;
|
|
/* 020956D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 020956DC */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 020956DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 020956E0 */ _t71 = cpu->r[11] + 0x0000008Cu;
|
|
/* 020956E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 020956E4 */ cpu->ctr = cpu->r[0];
|
|
/* 020956E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020956EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020956F0 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020956F0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 020956F0 */ if (_t73) goto L_02095708; else goto L_020956F4;
|
|
L_020956F4: ; // 0x20956f4
|
|
/* 020956F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020956F8 */ Gambit_fn_0209458C(cpu);
|
|
/* 020956FC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095700 */ cpu->r[4] = 0x00000003u;
|
|
/* 02095704 */ Gambit_fn_02090220(cpu);
|
|
L_02095708: ; // 0x2095708
|
|
/* 02095708 */ _t74 = cpu->r[30] + 0x00000014u;
|
|
/* 02095708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0209570C */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 0209570C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02095710 */ _t76 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02095710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02095714 */ cpu->ctr = cpu->r[0];
|
|
/* 02095718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209571C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095720 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095720 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02095720 */ if (_t78) goto L_02095738; else goto L_02095724;
|
|
L_02095724: ; // 0x2095724
|
|
/* 02095724 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095728 */ Gambit_fn_0209458C(cpu);
|
|
/* 0209572C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095730 */ cpu->r[4] = 0x00000007u;
|
|
/* 02095734 */ Gambit_fn_02090220(cpu);
|
|
L_02095738: ; // 0x2095738
|
|
/* 02095738 */ _t79 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02095738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209573C */ _t80 = cpu->r[3] + 0x00000000u;
|
|
/* 0209573C */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02095740 */ _t81 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02095740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02095744 */ cpu->ctr = cpu->r[11];
|
|
/* 02095748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209574C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095750 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095750 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02095750 */ if (_t83) goto L_02095768; else goto L_02095754;
|
|
L_02095754: ; // 0x2095754
|
|
/* 02095754 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095758 */ Gambit_fn_0209458C(cpu);
|
|
/* 0209575C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095760 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02095764 */ Gambit_fn_02090220(cpu);
|
|
L_02095768: ; // 0x2095768
|
|
/* 02095768 */ _t84 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02095768 */ cpu->r[29] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209576C */ _t85 = cpu->r[1] + 0x0000019Cu;
|
|
/* 0209576C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02095770 */ _t86 = cpu->r[1] + 0x00000190u;
|
|
/* 02095770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02095774 */ cpu->lr = cpu->r[0];
|
|
/* 02095778 */ _t87 = cpu->r[1] + 0x00000194u;
|
|
/* 02095778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0209577C */ cpu->r[1] = cpu->r[1] + 0x00000198u;
|
|
/* 02095780 */ return;
|
|
}
|
|
|
|
// fn_02095788 @ 0x2095788
|
|
void Gambit_fn_02095788(CPUState* 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_02095788: ; // 0x2095788
|
|
/* 02095788 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095788 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095788 */ cpu->r[1] = _t0;
|
|
/* 0209578C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0209578C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02095790 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02095790 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02095794 */ cpu->r[31] = cpu->r[3];
|
|
/* 02095798 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095798 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209579C */ _t4 = cpu->r[31] + 0x000001E4u;
|
|
/* 0209579C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020957A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020957A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020957A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020957A4 */ if (_t6) goto L_020957A8; else goto L_0209582C;
|
|
L_020957A8: ; // 0x20957a8
|
|
/* 020957A8 */ cpu->r[30] = 0x10010000u;
|
|
/* 020957AC */ cpu->r[0] = 0x10010000u;
|
|
/* 020957B0 */ cpu->r[12] = 0x10010000u;
|
|
/* 020957B4 */ cpu->r[30] = cpu->r[30] + 0xFFFFE99Cu;
|
|
/* 020957B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFED80u;
|
|
/* 020957BC */ _t7 = cpu->r[12] + 0xFFFFED50u;
|
|
/* 020957BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 020957C0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020957C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020957C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020957C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 020957CC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020957D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 020957D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 020957D4 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 020957D8 */ cpu->r[10] = 0x10010000u;
|
|
/* 020957DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020957E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020957E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 020957E4 */ cpu->r[10] = cpu->r[10] + 0xFFFFED78u;
|
|
/* 020957E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 020957EC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020957F0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 020957F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 020957F4 */ Gambit_fn_027ED798(cpu);
|
|
/* 020957F8 */ _t12 = cpu->r[31] + 0x00000238u;
|
|
/* 020957F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020957FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02095800 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095804 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095808 */ _t13 = cpu->r[31] + 0x00000238u;
|
|
/* 02095808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209580C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095810 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02095814 */ cpu->r[4] = 0x00000001u;
|
|
/* 02095818 */ _t14 = cpu->r[30] + 0x00000238u;
|
|
/* 02095818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02095818 */ cpu->r[30] = _t14;
|
|
/* 0209581C */ cpu->r[5] = 0x00000003u;
|
|
/* 02095820 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095824 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02095824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02095828 */ Gambit_fn_020A7E60(cpu);
|
|
L_0209582C: ; // 0x209582c
|
|
/* 0209582C */ cpu->r[3] = cpu->r[31];
|
|
/* 02095830 */ cpu->r[4] = 0x00000001u;
|
|
/* 02095834 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02095838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209583C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209583C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209583C */ if (_t17) goto L_0209584C; else goto L_02095840;
|
|
L_02095840: ; // 0x2095840
|
|
/* 02095840 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095844 */ cpu->r[4] = 0x00000004u;
|
|
/* 02095848 */ Gambit_fn_02090220(cpu);
|
|
L_0209584C: ; // 0x209584c
|
|
/* 0209584C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209584C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02095850 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02095850 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095854 */ cpu->lr = cpu->r[0];
|
|
/* 02095858 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02095858 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209585C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02095860 */ return;
|
|
}
|
|
|
|
// fn_02095868 @ 0x2095868
|
|
void Gambit_fn_02095868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02095868: ; // 0x2095868
|
|
/* 02095868 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095868 */ cpu->r[1] = _t0;
|
|
/* 0209586C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209586C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02095870 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02095870 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02095874 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02095874 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02095878 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02095878 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0209587C */ cpu->r[31] = cpu->r[3];
|
|
/* 02095880 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095880 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02095884 */ _t6 = cpu->r[31] + 0x000001E4u;
|
|
/* 02095884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02095888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209588C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209588C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209588C */ if (_t8) goto L_02095890; else goto L_020958A4;
|
|
L_02095890: ; // 0x2095890
|
|
/* 02095890 */ _t9 = cpu->r[31] + 0x00000254u;
|
|
/* 02095890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02095894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095898 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095898 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02095898 */ if (_t11) goto L_0209589C; else goto L_020958A4;
|
|
L_0209589C: ; // 0x209589c
|
|
/* 0209589C */ cpu->r[3] = cpu->r[31];
|
|
/* 020958A0 */ Gambit_fn_02094648(cpu);
|
|
L_020958A4: ; // 0x20958a4
|
|
/* 020958A4 */ _t12 = cpu->r[31] + 0x00000264u;
|
|
/* 020958A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020958A8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 020958A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020958AC */ _t14 = cpu->r[12] + 0x0000008Cu;
|
|
/* 020958AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020958B0 */ cpu->ctr = cpu->r[11];
|
|
/* 020958B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020958B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020958BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020958BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 020958BC */ if (_t16) goto L_020958D8; else goto L_020958C0;
|
|
L_020958C0: ; // 0x20958c0
|
|
/* 020958C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020958C4 */ Gambit_fn_0209458C(cpu);
|
|
/* 020958C8 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020958CC */ cpu->r[4] = 0x0000000Eu;
|
|
/* 020958D0 */ Gambit_fn_02090220(cpu);
|
|
/* 020958D4 */ goto L_02095980;
|
|
L_020958D8: ; // 0x20958d8
|
|
/* 020958D8 */ cpu->r[30] = cpu->r[31] + 0x00000230u;
|
|
/* 020958DC */ cpu->r[28] = 0x00000000u;
|
|
/* 020958E0 */ cpu->r[29] = cpu->r[30];
|
|
/* 020958E4 */ goto L_020958F0;
|
|
L_020958E8: ; // 0x20958e8
|
|
/* 020958E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 020958EC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020958EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 020958EC */ if (_t18) goto L_020958F0; else goto L_020958F8;
|
|
L_020958F0: ; // 0x20958f0
|
|
/* 020958F0 */ cpu->r[7] = cpu->r[29];
|
|
/* 020958F4 */ goto L_020958FC;
|
|
L_020958F8: ; // 0x20958f8
|
|
/* 020958F8 */ cpu->r[7] = cpu->r[30];
|
|
L_020958FC: ; // 0x20958fc
|
|
/* 020958FC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 020958FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095900 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02095900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02095904 */ _t21 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02095904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02095908 */ cpu->ctr = cpu->r[0];
|
|
/* 0209590C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095914 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095914 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02095914 */ if (_t23) goto L_02095920; else goto L_02095918;
|
|
L_02095918: ; // 0x2095918
|
|
/* 02095918 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209591C */ Gambit_fn_0209458C(cpu);
|
|
L_02095920: ; // 0x2095920
|
|
/* 02095920 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02095924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 02095928 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 0209592C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209592C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209592C */ if (_t25) goto L_020958E8; else goto L_02095930;
|
|
L_02095930: ; // 0x2095930
|
|
/* 02095930 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02095930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02095934 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02095934 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02095938 */ _t28 = cpu->r[5] + 0x0000008Cu;
|
|
/* 02095938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209593C */ cpu->ctr = cpu->r[0];
|
|
/* 02095940 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095948 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095948 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02095948 */ if (_t30) goto L_02095958; else goto L_0209594C;
|
|
L_0209594C: ; // 0x209594c
|
|
/* 0209594C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095950 */ cpu->r[4] = 0x00000006u;
|
|
/* 02095954 */ Gambit_fn_02090220(cpu);
|
|
L_02095958: ; // 0x2095958
|
|
/* 02095958 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02095958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0209595C */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 0209595C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02095960 */ _t33 = cpu->r[9] + 0x000000DCu;
|
|
/* 02095960 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02095964 */ cpu->ctr = cpu->r[10];
|
|
/* 02095968 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209596C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095970 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095970 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02095970 */ if (_t35) goto L_02095980; else goto L_02095974;
|
|
L_02095974: ; // 0x2095974
|
|
/* 02095974 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095978 */ cpu->r[4] = 0x00000005u;
|
|
/* 0209597C */ Gambit_fn_02090220(cpu);
|
|
L_02095980: ; // 0x2095980
|
|
/* 02095980 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02095980 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02095984 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095984 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02095988 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209598C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0209598C */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02095990 */ cpu->lr = cpu->r[0];
|
|
/* 02095994 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02095994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02095998 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209599C */ return;
|
|
}
|
|
|
|
// fn_020959A0 @ 0x20959a0
|
|
void Gambit_fn_020959A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_020959A0: ; // 0x20959a0
|
|
/* 020959A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 020959A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020959A0 */ cpu->r[1] = _t0;
|
|
/* 020959A4 */ /* nop */
|
|
/* 020959A8 */ cpu->r[0] = cpu->lr;
|
|
/* 020959AC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020959AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020959B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020959B4 */ _t2 = cpu->r[31] + 0x000001E4u;
|
|
/* 020959B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020959B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 020959BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020959BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 020959BC */ if (_t4) goto L_020959C0; else goto L_020959F0;
|
|
L_020959C0: ; // 0x20959c0
|
|
/* 020959C0 */ cpu->r[0] = 0x10010000u;
|
|
/* 020959C4 */ cpu->r[12] = 0x10010000u;
|
|
/* 020959C8 */ cpu->r[11] = 0x10010000u;
|
|
/* 020959CC */ cpu->r[0] = cpu->r[0] + 0xFFFFE99Cu;
|
|
/* 020959D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFED88u;
|
|
/* 020959D4 */ _t5 = cpu->r[11] + 0xFFFFED74u;
|
|
/* 020959D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 020959D8 */ cpu->r[4] = 0x00000001u;
|
|
/* 020959DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020959E0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020959E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020959E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020959E8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 020959E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020959EC */ Gambit_fn_027ED1E4(cpu);
|
|
L_020959F0: ; // 0x20959f0
|
|
/* 020959F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020959F4 */ cpu->r[4] = 0x00000001u;
|
|
/* 020959F8 */ Gambit_fn_027EDF00(cpu);
|
|
/* 020959FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095A00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095A00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02095A00 */ if (_t9) goto L_02095A9C; else goto L_02095A04;
|
|
L_02095A04: ; // 0x2095a04
|
|
/* 02095A04 */ cpu->r[28] = 0x00000000u;
|
|
/* 02095A08 */ cpu->r[30] = cpu->r[31] + 0x00000230u;
|
|
/* 02095A0C */ cpu->r[29] = cpu->r[28];
|
|
/* 02095A10 */ goto L_02095A1C;
|
|
L_02095A14: ; // 0x2095a14
|
|
/* 02095A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02095A18 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095A18 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02095A18 */ if (_t11) goto L_02095A1C; else goto L_02095A28;
|
|
L_02095A1C: ; // 0x2095a1c
|
|
/* 02095A1C */ cpu->r[9] = cpu->r[30] + cpu->r[29];
|
|
/* 02095A20 */ cpu->r[27] = cpu->r[29];
|
|
/* 02095A24 */ goto L_02095A2C;
|
|
L_02095A28: ; // 0x2095a28
|
|
/* 02095A28 */ cpu->r[9] = cpu->r[30];
|
|
L_02095A2C: ; // 0x2095a2c
|
|
/* 02095A2C */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02095A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02095A30 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02095A30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02095A34 */ _t14 = cpu->r[5] + 0x000000DCu;
|
|
/* 02095A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02095A38 */ cpu->ctr = cpu->r[0];
|
|
/* 02095A3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095A44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095A44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02095A44 */ if (_t16) goto L_02095A7C; else goto L_02095A48;
|
|
L_02095A48: ; // 0x2095a48
|
|
/* 02095A48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02095A4C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095A4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02095A4C */ if (_t18) goto L_02095A50; else goto L_02095A68;
|
|
L_02095A50: ; // 0x2095a50
|
|
/* 02095A50 */ _t19 = cpu->r[30] + cpu->r[27];
|
|
/* 02095A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095A54 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02095A54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02095A58 */ _t21 = cpu->r[8] + 0x000000CCu;
|
|
/* 02095A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02095A5C */ cpu->ctr = cpu->r[11];
|
|
/* 02095A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095A64 */ goto L_02095A7C;
|
|
L_02095A68: ; // 0x2095a68
|
|
/* 02095A68 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02095A68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02095A6C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02095A6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02095A70 */ _t24 = cpu->r[8] + 0x000000CCu;
|
|
/* 02095A70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02095A74 */ cpu->ctr = cpu->r[11];
|
|
/* 02095A78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02095A7C: ; // 0x2095a7c
|
|
/* 02095A7C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02095A80 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02095A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 02095A88 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02095A8C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095A8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02095A8C */ if (_t26) goto L_02095A14; else goto L_02095A90;
|
|
L_02095A90: ; // 0x2095a90
|
|
/* 02095A90 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095A94 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095A98 */ Gambit_fn_02090220(cpu);
|
|
L_02095A9C: ; // 0x2095a9c
|
|
/* 02095A9C */ /* nop */
|
|
/* 02095AA0 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02095AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02095AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02095AA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02095AAC */ return;
|
|
}
|
|
|
|
// fn_02095AB4 @ 0x2095ab4
|
|
void Gambit_fn_02095AB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02095AB4: ; // 0x2095ab4
|
|
/* 02095AB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095AB4 */ cpu->r[1] = _t0;
|
|
/* 02095AB8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02095AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02095ABC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02095ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02095AC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02095AC4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095AC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02095AC8 */ _t4 = cpu->r[31] + 0x000001E4u;
|
|
/* 02095AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02095ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02095AD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095AD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02095AD0 */ if (_t6) goto L_02095AD4; else goto L_02095B98;
|
|
L_02095AD4: ; // 0x2095ad4
|
|
/* 02095AD4 */ cpu->r[30] = 0x10010000u;
|
|
/* 02095AD8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02095ADC */ cpu->r[12] = 0x10010000u;
|
|
/* 02095AE0 */ cpu->r[30] = cpu->r[30] + 0xFFFFE99Cu;
|
|
/* 02095AE4 */ cpu->r[0] = cpu->r[0] + 0xFFFFED98u;
|
|
/* 02095AE8 */ _t7 = cpu->r[12] + 0xFFFFED50u;
|
|
/* 02095AE8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02095AEC */ cpu->r[4] = 0x00000001u;
|
|
/* 02095AF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095AF4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095AF4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02095AF8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02095AFC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02095AFC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02095B00 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02095B04 */ cpu->r[11] = 0x10010000u;
|
|
/* 02095B08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095B0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095B0C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02095B10 */ cpu->r[11] = cpu->r[11] + 0xFFFFED90u;
|
|
/* 02095B14 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095B18 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02095B1C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02095B1C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02095B20 */ Gambit_fn_027ED624(cpu);
|
|
/* 02095B24 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095B28 */ _t12 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02095B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02095B2C */ cpu->r[4] = 0x00000064u;
|
|
/* 02095B30 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095B34 */ _t13 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02095B34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02095B38 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095B3C */ _t14 = cpu->r[31] + 0x00000238u;
|
|
/* 02095B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02095B40 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095B44 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095B48 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095B4C */ _t15 = cpu->r[31] + 0x00000238u;
|
|
/* 02095B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02095B50 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095B54 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02095B58 */ cpu->r[4] = 0x00000003u;
|
|
/* 02095B5C */ _t16 = cpu->r[30] + 0x00000238u;
|
|
/* 02095B5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02095B5C */ cpu->r[30] = _t16;
|
|
/* 02095B60 */ cpu->r[5] = cpu->r[4];
|
|
/* 02095B64 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095B68 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02095B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02095B6C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02095B70 */ _t18 = cpu->r[31] + 0x00000261u;
|
|
/* 02095B70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02095B74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095B7C */ _t19 = cpu->r[31] + 0x00000248u;
|
|
/* 02095B7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095B80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095B80 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02095B80 */ if (_t21) goto L_02095B88; else goto L_02095B84;
|
|
L_02095B84: ; // 0x2095b84
|
|
/* 02095B84 */ cpu->r[4] = 0x00000003u;
|
|
L_02095B88: ; // 0x2095b88
|
|
/* 02095B88 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095B8C */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095B90 */ _t22 = cpu->r[31] + 0x00000248u;
|
|
/* 02095B90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02095B94 */ Gambit_fn_020A7E60(cpu);
|
|
L_02095B98: ; // 0x2095b98
|
|
/* 02095B98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095B9C */ cpu->r[4] = 0x00000001u;
|
|
/* 02095BA0 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02095BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095BA8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095BA8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02095BA8 */ if (_t24) goto L_02095BB8; else goto L_02095BAC;
|
|
L_02095BAC: ; // 0x2095bac
|
|
/* 02095BAC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095BB0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02095BB4 */ Gambit_fn_02090220(cpu);
|
|
L_02095BB8: ; // 0x2095bb8
|
|
/* 02095BB8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02095BBC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02095BBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02095BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02095BC4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02095BC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02095BC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02095BCC */ return;
|
|
}
|
|
|
|
// fn_02095BD4 @ 0x2095bd4
|
|
void Gambit_fn_02095BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_02095BD4: ; // 0x2095bd4
|
|
/* 02095BD4 */ _t0 = cpu->r[1] + 0xFFFFFE50u;
|
|
/* 02095BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095BD4 */ cpu->r[1] = _t0;
|
|
/* 02095BD8 */ _t1 = cpu->r[1] + 0x000001A4u;
|
|
/* 02095BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02095BDC */ _t2 = cpu->r[1] + 0x000001A0u;
|
|
/* 02095BDC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02095BE0 */ _t3 = cpu->r[1] + 0x000001ACu;
|
|
/* 02095BE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02095BE4 */ _t4 = cpu->r[1] + 0x000001A8u;
|
|
/* 02095BE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02095BE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02095BEC */ _t5 = cpu->r[1] + 0x000001B4u;
|
|
/* 02095BEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02095BF0 */ _t6 = cpu->r[31] + 0x000001E4u;
|
|
/* 02095BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02095BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02095BF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095BF8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02095BF8 */ if (_t8) goto L_02095BFC; else goto L_02095C10;
|
|
L_02095BFC: ; // 0x2095bfc
|
|
/* 02095BFC */ _t9 = cpu->r[31] + 0x00000254u;
|
|
/* 02095BFC */ cpu->r[8] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02095C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02095C04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095C04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02095C04 */ if (_t11) goto L_02095C08; else goto L_02095C10;
|
|
L_02095C08: ; // 0x2095c08
|
|
/* 02095C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095C0C */ Gambit_fn_02094648(cpu);
|
|
L_02095C10: ; // 0x2095c10
|
|
/* 02095C10 */ _t12 = cpu->r[31] + 0x00000264u;
|
|
/* 02095C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02095C14 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02095C14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02095C18 */ _t14 = cpu->r[9] + 0x0000008Cu;
|
|
/* 02095C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02095C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02095C20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095C28 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095C28 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02095C28 */ if (_t16) goto L_02095C44; else goto L_02095C2C;
|
|
L_02095C2C: ; // 0x2095c2c
|
|
/* 02095C2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02095C30 */ Gambit_fn_0209458C(cpu);
|
|
/* 02095C34 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095C38 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02095C3C */ Gambit_fn_02090220(cpu);
|
|
/* 02095C40 */ goto L_02095E58;
|
|
L_02095C44: ; // 0x2095c44
|
|
/* 02095C44 */ cpu->r[30] = cpu->r[31] + 0x00000230u;
|
|
/* 02095C48 */ cpu->r[28] = 0x00000000u;
|
|
/* 02095C4C */ cpu->r[29] = cpu->r[30];
|
|
/* 02095C50 */ goto L_02095C5C;
|
|
L_02095C54: ; // 0x2095c54
|
|
/* 02095C54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02095C58 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095C58 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02095C58 */ if (_t18) goto L_02095C5C; else goto L_02095C64;
|
|
L_02095C5C: ; // 0x2095c5c
|
|
/* 02095C5C */ cpu->r[12] = cpu->r[29];
|
|
/* 02095C60 */ goto L_02095C68;
|
|
L_02095C64: ; // 0x2095c64
|
|
/* 02095C64 */ cpu->r[12] = cpu->r[30];
|
|
L_02095C68: ; // 0x2095c68
|
|
/* 02095C68 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02095C68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095C6C */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02095C6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02095C70 */ _t21 = cpu->r[4] + 0x0000008Cu;
|
|
/* 02095C70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02095C74 */ cpu->ctr = cpu->r[5];
|
|
/* 02095C78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095C80 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095C80 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02095C80 */ if (_t23) goto L_02095C8C; else goto L_02095C84;
|
|
L_02095C84: ; // 0x2095c84
|
|
/* 02095C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095C88 */ Gambit_fn_0209458C(cpu);
|
|
L_02095C8C: ; // 0x2095c8c
|
|
/* 02095C8C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02095C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 02095C94 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02095C98 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095C98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02095C98 */ if (_t25) goto L_02095C54; else goto L_02095C9C;
|
|
L_02095C9C: ; // 0x2095c9c
|
|
/* 02095C9C */ _t26 = cpu->r[31] + 0x00000261u;
|
|
/* 02095C9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02095CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02095CA4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095CA4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02095CA4 */ if (_t28) goto L_02095CA8; else goto L_02095CD0;
|
|
L_02095CA8: ; // 0x2095ca8
|
|
/* 02095CA8 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 02095CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02095CAC */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02095CAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02095CB0 */ _t31 = cpu->r[8] + 0x0000008Cu;
|
|
/* 02095CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02095CB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02095CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095CC0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095CC0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02095CC0 */ if (_t33) goto L_02095CC4; else goto L_02095CEC;
|
|
L_02095CC4: ; // 0x2095cc4
|
|
/* 02095CC4 */ _t34 = cpu->r[31] + 0x00000261u;
|
|
/* 02095CC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02095CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02095CCC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095CCC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02095CCC */ if (_t36) goto L_02095E30; else goto L_02095CD0;
|
|
L_02095CD0: ; // 0x2095cd0
|
|
/* 02095CD0 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02095CD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02095CD4 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 02095CD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02095CD8 */ _t39 = cpu->r[11] + 0x0000008Cu;
|
|
/* 02095CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02095CDC */ cpu->ctr = cpu->r[0];
|
|
/* 02095CE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095CE8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095CE8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02095CE8 */ if (_t41) goto L_02095DFC; else goto L_02095CEC;
|
|
L_02095CEC: ; // 0x2095cec
|
|
/* 02095CEC */ _t42 = cpu->r[31] + 0x00000261u;
|
|
/* 02095CEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02095CF0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02095CF4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02095CF8 */ _t43 = cpu->r[31] + 0x00000261u;
|
|
/* 02095CF8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 02095CFC */ Gambit_fn_02173004(cpu);
|
|
/* 02095D00 */ _t44 = cpu->r[31] + 0x00000261u;
|
|
/* 02095D00 */ cpu->r[5] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02095D04 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02095D08 */ cpu->r[29] = 0x00000001u;
|
|
/* 02095D0C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02095D10 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02095D14 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 02095D14 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
/* 02095D18 */ Gambit_fn_02173154(cpu);
|
|
/* 02095D1C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02095D20 */ Gambit_fn_021730F4(cpu);
|
|
/* 02095D24 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02095D28 */ _t46 = cpu->r[11] + 0x00001358u;
|
|
/* 02095D28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02095D2C */ _t47 = cpu->r[11] + 0x000002F0u;
|
|
/* 02095D2C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[29]);
|
|
/* 02095D30 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02095D34 */ cpu->r[0] = 0x10010000u;
|
|
/* 02095D38 */ cpu->r[7] = 0x10010000u;
|
|
/* 02095D3C */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02095D3C */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 02095D40 */ cpu->r[0] = cpu->r[0] + 0xFFFFE99Cu;
|
|
/* 02095D44 */ cpu->r[7] = cpu->r[7] + 0xFFFFEDA0u;
|
|
/* 02095D48 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02095D48 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02095D4C */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02095D4C */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02095D50 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095D54 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095D54 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02095D58 */ Gambit_fn_02096574(cpu);
|
|
/* 02095D5C */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095D5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02095D60 */ _t53 = cpu->r[8] + 0x00000014u;
|
|
/* 02095D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02095D64 */ cpu->ctr = cpu->r[0];
|
|
/* 02095D68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02095D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095D70 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02095D70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02095D74 */ _t55 = cpu->r[10] + 0x00000014u;
|
|
/* 02095D74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02095D78 */ cpu->ctr = cpu->r[11];
|
|
/* 02095D7C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02095D7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02095D80 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02095D84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095D88 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02095D88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02095D8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02095D90 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095D90 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02095D90 */ if (_t59) goto L_02095DE4; else goto L_02095D94;
|
|
L_02095D94: ; // 0x2095d94
|
|
/* 02095D94 */ cpu->r[0] = 0x00080000u;
|
|
/* 02095D98 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02095D98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02095D9C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02095DA0 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02095DA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02095DA4 */ cpu->r[12] = 0x10110000u;
|
|
/* 02095DA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02095DAC */ _t62 = cpu->r[12] + 0x00007399u;
|
|
/* 02095DAC */ cpu->r[12] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02095DB0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02095DB4: ; // 0x2095db4
|
|
/* 02095DB4 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 02095DB4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02095DB8 */ _t64 = cpu->r[4] + 0x00000001u;
|
|
/* 02095DB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02095DB8 */ cpu->r[4] = _t64;
|
|
/* 02095DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02095DC0 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095DC0 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02095DC0 */ if (_t66) goto L_02095DC4; else goto L_02095DF0;
|
|
L_02095DC4: ; // 0x2095dc4
|
|
/* 02095DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02095DC8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095DC8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02095DC8 */ if (_t68) goto L_02095DE4; else goto L_02095DCC;
|
|
L_02095DCC: ; // 0x2095dcc
|
|
/* 02095DCC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02095DD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02095DD0 */ _t69 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02095DD0 */ _t70 = _t69 >> (0x00000002u & 31u);
|
|
/* 02095DD0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02095DD0 */ if (_t71) goto L_02095DB4; else goto L_02095DD4;
|
|
L_02095DD4: ; // 0x2095dd4
|
|
/* 02095DD4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02095DD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095DDC */ Gambit_fn_021730E0(cpu);
|
|
/* 02095DE0 */ goto L_02095DFC;
|
|
L_02095DE4: ; // 0x2095de4
|
|
/* 02095DE4 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095DE8 */ cpu->r[4] = 0x0000000Du;
|
|
/* 02095DEC */ Gambit_fn_02090220(cpu);
|
|
L_02095DF0: ; // 0x2095df0
|
|
/* 02095DF0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02095DF4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095DF8 */ Gambit_fn_021730E0(cpu);
|
|
L_02095DFC: ; // 0x2095dfc
|
|
/* 02095DFC */ _t72 = cpu->r[31] + 0x00000261u;
|
|
/* 02095DFC */ cpu->r[4] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02095E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02095E04 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095E04 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02095E04 */ if (_t74) goto L_02095E30; else goto L_02095E08;
|
|
L_02095E08: ; // 0x2095e08
|
|
/* 02095E08 */ _t75 = cpu->r[30] + 0x00000004u;
|
|
/* 02095E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02095E0C */ _t76 = cpu->r[3] + 0x00000000u;
|
|
/* 02095E0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02095E10 */ _t77 = cpu->r[5] + 0x000000DCu;
|
|
/* 02095E10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02095E14 */ cpu->ctr = cpu->r[6];
|
|
/* 02095E18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095E20 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095E20 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02095E20 */ if (_t79) goto L_02095E24; else goto L_02095E4C;
|
|
L_02095E24: ; // 0x2095e24
|
|
/* 02095E24 */ _t80 = cpu->r[31] + 0x00000261u;
|
|
/* 02095E24 */ cpu->r[7] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02095E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02095E2C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095E2C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02095E2C */ if (_t82) goto L_02095E30; else goto L_02095E58;
|
|
L_02095E30: ; // 0x2095e30
|
|
/* 02095E30 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 02095E30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02095E34 */ _t84 = cpu->r[3] + 0x00000000u;
|
|
/* 02095E34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02095E38 */ _t85 = cpu->r[8] + 0x000000DCu;
|
|
/* 02095E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02095E3C */ cpu->ctr = cpu->r[9];
|
|
/* 02095E40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095E48 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095E48 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02095E48 */ if (_t87) goto L_02095E58; else goto L_02095E4C;
|
|
L_02095E4C: ; // 0x2095e4c
|
|
/* 02095E4C */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095E50 */ cpu->r[4] = 0x00000009u;
|
|
/* 02095E54 */ Gambit_fn_02090220(cpu);
|
|
L_02095E58: ; // 0x2095e58
|
|
/* 02095E58 */ _t88 = cpu->r[1] + 0x000001A0u;
|
|
/* 02095E58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02095E5C */ _t89 = cpu->r[1] + 0x000001A4u;
|
|
/* 02095E5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02095E60 */ _t90 = cpu->r[1] + 0x000001B4u;
|
|
/* 02095E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02095E64 */ _t91 = cpu->r[1] + 0x000001A8u;
|
|
/* 02095E64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02095E68 */ cpu->lr = cpu->r[0];
|
|
/* 02095E6C */ _t92 = cpu->r[1] + 0x000001ACu;
|
|
/* 02095E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02095E70 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 02095E74 */ return;
|
|
}
|
|
|
|
// fn_02095E78 @ 0x2095e78
|
|
void Gambit_fn_02095E78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02095E78: ; // 0x2095e78
|
|
/* 02095E78 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02095E78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095E78 */ cpu->r[1] = _t0;
|
|
/* 02095E7C */ /* nop */
|
|
/* 02095E80 */ cpu->r[0] = cpu->lr;
|
|
/* 02095E84 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02095E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02095E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02095E8C */ _t2 = cpu->r[31] + 0x000001E4u;
|
|
/* 02095E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02095E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02095E94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095E94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02095E94 */ if (_t4) goto L_02095E98; else goto L_02095EF0;
|
|
L_02095E98: ; // 0x2095e98
|
|
/* 02095E98 */ cpu->r[12] = 0x10010000u;
|
|
/* 02095E9C */ cpu->r[4] = 0x10010000u;
|
|
/* 02095EA0 */ cpu->r[0] = 0x10010000u;
|
|
/* 02095EA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE99Cu;
|
|
/* 02095EA8 */ _t5 = cpu->r[4] + 0xFFFFED74u;
|
|
/* 02095EA8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02095EAC */ cpu->r[4] = 0x00000001u;
|
|
/* 02095EB0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEDA8u;
|
|
/* 02095EB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095EB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02095EB8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02095EBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02095EC0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02095EC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02095EC4 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02095EC8 */ _t8 = cpu->r[31] + 0x00000261u;
|
|
/* 02095EC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02095ECC */ cpu->r[4] = 0x00000002u;
|
|
/* 02095ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02095ED4 */ _t9 = cpu->r[31] + 0x00000240u;
|
|
/* 02095ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02095ED8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095ED8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02095ED8 */ if (_t11) goto L_02095EE0; else goto L_02095EDC;
|
|
L_02095EDC: ; // 0x2095edc
|
|
/* 02095EDC */ cpu->r[4] = 0x00000003u;
|
|
L_02095EE0: ; // 0x2095ee0
|
|
/* 02095EE0 */ cpu->r[5] = 0x00000003u;
|
|
/* 02095EE4 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02095EE8 */ _t12 = cpu->r[31] + 0x00000240u;
|
|
/* 02095EE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02095EEC */ Gambit_fn_020A7E60(cpu);
|
|
L_02095EF0: ; // 0x2095ef0
|
|
/* 02095EF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095EF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02095EF8 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02095EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095F00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095F00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02095F00 */ if (_t14) goto L_02095F9C; else goto L_02095F04;
|
|
L_02095F04: ; // 0x2095f04
|
|
/* 02095F04 */ cpu->r[27] = 0x00000000u;
|
|
/* 02095F08 */ cpu->r[30] = cpu->r[31] + 0x00000230u;
|
|
/* 02095F0C */ cpu->r[29] = cpu->r[27];
|
|
/* 02095F10 */ goto L_02095F1C;
|
|
L_02095F14: ; // 0x2095f14
|
|
/* 02095F14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000002u);
|
|
/* 02095F18 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095F18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02095F18 */ if (_t16) goto L_02095F1C; else goto L_02095F28;
|
|
L_02095F1C: ; // 0x2095f1c
|
|
/* 02095F1C */ cpu->r[7] = cpu->r[30] + cpu->r[29];
|
|
/* 02095F20 */ cpu->r[28] = cpu->r[29];
|
|
/* 02095F24 */ goto L_02095F2C;
|
|
L_02095F28: ; // 0x2095f28
|
|
/* 02095F28 */ cpu->r[7] = cpu->r[30];
|
|
L_02095F2C: ; // 0x2095f2c
|
|
/* 02095F2C */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02095F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02095F30 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02095F30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02095F34 */ _t19 = cpu->r[6] + 0x000000DCu;
|
|
/* 02095F34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02095F38 */ cpu->ctr = cpu->r[8];
|
|
/* 02095F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02095F44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095F44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02095F44 */ if (_t21) goto L_02095F7C; else goto L_02095F48;
|
|
L_02095F48: ; // 0x2095f48
|
|
/* 02095F48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000002u);
|
|
/* 02095F4C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095F4C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02095F4C */ if (_t23) goto L_02095F50; else goto L_02095F68;
|
|
L_02095F50: ; // 0x2095f50
|
|
/* 02095F50 */ _t24 = cpu->r[30] + cpu->r[28];
|
|
/* 02095F50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02095F54 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02095F54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02095F58 */ _t26 = cpu->r[12] + 0x000000CCu;
|
|
/* 02095F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02095F5C */ cpu->ctr = cpu->r[0];
|
|
/* 02095F60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02095F64 */ goto L_02095F7C;
|
|
L_02095F68: ; // 0x2095f68
|
|
/* 02095F68 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02095F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02095F6C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02095F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02095F70 */ _t29 = cpu->r[12] + 0x000000CCu;
|
|
/* 02095F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02095F74 */ cpu->ctr = cpu->r[0];
|
|
/* 02095F78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02095F7C: ; // 0x2095f7c
|
|
/* 02095F7C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02095F80 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02095F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000002u);
|
|
/* 02095F88 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02095F8C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02095F8C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02095F8C */ if (_t31) goto L_02095F14; else goto L_02095F90;
|
|
L_02095F90: ; // 0x2095f90
|
|
/* 02095F90 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02095F94 */ cpu->r[4] = 0x00000002u;
|
|
/* 02095F98 */ Gambit_fn_02090220(cpu);
|
|
L_02095F9C: ; // 0x2095f9c
|
|
/* 02095F9C */ /* nop */
|
|
/* 02095FA0 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02095FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02095FA4 */ cpu->lr = cpu->r[0];
|
|
/* 02095FA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02095FAC */ return;
|
|
}
|
|
|
|
// fn_02095FB4 @ 0x2095fb4
|
|
void Gambit_fn_02095FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02095FB4: ; // 0x2095fb4
|
|
/* 02095FB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02095FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02095FB4 */ cpu->r[1] = _t0;
|
|
/* 02095FB8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02095FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02095FBC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02095FBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02095FC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02095FC4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02095FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02095FC8 */ _t4 = cpu->r[31] + 0x000001E4u;
|
|
/* 02095FC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02095FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02095FD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02095FD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02095FD0 */ if (_t6) goto L_02095FD4; else goto L_02096098;
|
|
L_02095FD4: ; // 0x2095fd4
|
|
/* 02095FD4 */ cpu->r[30] = 0x10010000u;
|
|
/* 02095FD8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02095FDC */ cpu->r[12] = 0x10010000u;
|
|
/* 02095FE0 */ cpu->r[30] = cpu->r[30] + 0xFFFFE99Cu;
|
|
/* 02095FE4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEDB8u;
|
|
/* 02095FE8 */ _t7 = cpu->r[12] + 0xFFFFED50u;
|
|
/* 02095FE8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02095FEC */ cpu->r[4] = 0x00000001u;
|
|
/* 02095FF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02095FF4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02095FF4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02095FF8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02095FFC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02095FFC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02096000 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02096004 */ cpu->r[11] = 0x10010000u;
|
|
/* 02096008 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209600C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209600C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02096010 */ cpu->r[11] = cpu->r[11] + 0xFFFFEDB0u;
|
|
/* 02096014 */ cpu->r[4] = 0x00000002u;
|
|
/* 02096018 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209601C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209601C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02096020 */ Gambit_fn_027ED624(cpu);
|
|
/* 02096024 */ cpu->r[5] = 0x00000003u;
|
|
/* 02096028 */ _t12 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02096028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209602C */ cpu->r[4] = 0x00000065u;
|
|
/* 02096030 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02096034 */ _t13 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02096034 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096038 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0209603C */ _t14 = cpu->r[31] + 0x00000238u;
|
|
/* 0209603C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02096040 */ cpu->r[5] = 0x00000003u;
|
|
/* 02096044 */ cpu->r[4] = 0x00000004u;
|
|
/* 02096048 */ Gambit_fn_020A7D70(cpu);
|
|
/* 0209604C */ _t15 = cpu->r[31] + 0x00000238u;
|
|
/* 0209604C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02096050 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02096054 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 02096058 */ cpu->r[5] = 0x00000003u;
|
|
/* 0209605C */ _t16 = cpu->r[30] + 0x00000238u;
|
|
/* 0209605C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209605C */ cpu->r[30] = _t16;
|
|
/* 02096060 */ cpu->r[4] = 0x00000005u;
|
|
/* 02096064 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02096068 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02096068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209606C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02096070 */ _t18 = cpu->r[31] + 0x00000260u;
|
|
/* 02096070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02096074 */ cpu->r[4] = 0x00000004u;
|
|
/* 02096078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209607C */ _t19 = cpu->r[31] + 0x00000248u;
|
|
/* 0209607C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02096080 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096080 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02096080 */ if (_t21) goto L_02096088; else goto L_02096084;
|
|
L_02096084: ; // 0x2096084
|
|
/* 02096084 */ cpu->r[4] = 0x00000005u;
|
|
L_02096088: ; // 0x2096088
|
|
/* 02096088 */ cpu->r[5] = 0x00000003u;
|
|
/* 0209608C */ Gambit_fn_020A7D70(cpu);
|
|
/* 02096090 */ _t22 = cpu->r[31] + 0x00000248u;
|
|
/* 02096090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02096094 */ Gambit_fn_020A7E60(cpu);
|
|
L_02096098: ; // 0x2096098
|
|
/* 02096098 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209609C */ cpu->r[4] = 0x00000001u;
|
|
/* 020960A0 */ Gambit_fn_027EDF00(cpu);
|
|
/* 020960A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020960A8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020960A8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 020960A8 */ if (_t24) goto L_020960B8; else goto L_020960AC;
|
|
L_020960AC: ; // 0x20960ac
|
|
/* 020960AC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020960B0 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 020960B4 */ Gambit_fn_02090220(cpu);
|
|
L_020960B8: ; // 0x20960b8
|
|
/* 020960B8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020960B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 020960BC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 020960BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 020960C0 */ cpu->lr = cpu->r[0];
|
|
/* 020960C4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 020960C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 020960C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020960CC */ return;
|
|
}
|
|
|
|
// fn_020960D4 @ 0x20960d4
|
|
void Gambit_fn_020960D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_020960D4: ; // 0x20960d4
|
|
/* 020960D4 */ _t0 = cpu->r[1] + 0xFFFFFE60u;
|
|
/* 020960D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020960D4 */ cpu->r[1] = _t0;
|
|
/* 020960D8 */ _t1 = cpu->r[1] + 0x00000194u;
|
|
/* 020960D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 020960DC */ _t2 = cpu->r[1] + 0x00000190u;
|
|
/* 020960DC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 020960E0 */ _t3 = cpu->r[1] + 0x00000198u;
|
|
/* 020960E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 020960E4 */ _t4 = cpu->r[1] + 0x0000019Cu;
|
|
/* 020960E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 020960E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020960EC */ _t5 = cpu->r[1] + 0x000001A4u;
|
|
/* 020960EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020960F0 */ _t6 = cpu->r[30] + 0x000001E4u;
|
|
/* 020960F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020960F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020960F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020960F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020960F8 */ if (_t8) goto L_020960FC; else goto L_02096110;
|
|
L_020960FC: ; // 0x20960fc
|
|
/* 020960FC */ _t9 = cpu->r[30] + 0x00000254u;
|
|
/* 020960FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02096100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02096104 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096104 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02096104 */ if (_t11) goto L_02096108; else goto L_02096110;
|
|
L_02096108: ; // 0x2096108
|
|
/* 02096108 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209610C */ Gambit_fn_02094648(cpu);
|
|
L_02096110: ; // 0x2096110
|
|
/* 02096110 */ _t12 = cpu->r[30] + 0x00000264u;
|
|
/* 02096110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096114 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02096114 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096118 */ _t14 = cpu->r[5] + 0x0000008Cu;
|
|
/* 02096118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209611C */ cpu->ctr = cpu->r[6];
|
|
/* 02096120 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096128 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096128 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02096128 */ if (_t16) goto L_02096144; else goto L_0209612C;
|
|
L_0209612C: ; // 0x209612c
|
|
/* 0209612C */ cpu->r[3] = cpu->r[30];
|
|
/* 02096130 */ Gambit_fn_0209458C(cpu);
|
|
/* 02096134 */ cpu->r[3] = cpu->r[30] + 0x000001DCu;
|
|
/* 02096138 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 0209613C */ Gambit_fn_02090220(cpu);
|
|
/* 02096140 */ goto L_02096284;
|
|
L_02096144: ; // 0x2096144
|
|
/* 02096144 */ cpu->r[29] = cpu->r[30] + 0x00000230u;
|
|
/* 02096148 */ cpu->r[28] = 0x00000000u;
|
|
/* 0209614C */ cpu->r[31] = cpu->r[29];
|
|
/* 02096150 */ goto L_0209615C;
|
|
L_02096154: ; // 0x2096154
|
|
/* 02096154 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02096158 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096158 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02096158 */ if (_t18) goto L_0209615C; else goto L_02096164;
|
|
L_0209615C: ; // 0x209615c
|
|
/* 0209615C */ cpu->r[7] = cpu->r[31];
|
|
/* 02096160 */ goto L_02096168;
|
|
L_02096164: ; // 0x2096164
|
|
/* 02096164 */ cpu->r[7] = cpu->r[29];
|
|
L_02096168: ; // 0x2096168
|
|
/* 02096168 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02096168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209616C */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0209616C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02096170 */ _t21 = cpu->r[8] + 0x0000008Cu;
|
|
/* 02096170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02096174 */ cpu->ctr = cpu->r[9];
|
|
/* 02096178 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209617C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096180 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096180 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02096180 */ if (_t23) goto L_0209618C; else goto L_02096184;
|
|
L_02096184: ; // 0x2096184
|
|
/* 02096184 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096188 */ Gambit_fn_0209458C(cpu);
|
|
L_0209618C: ; // 0x209618c
|
|
/* 0209618C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02096190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000002u);
|
|
/* 02096194 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02096198 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096198 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02096198 */ if (_t25) goto L_02096154; else goto L_0209619C;
|
|
L_0209619C: ; // 0x209619c
|
|
/* 0209619C */ _t26 = cpu->r[30] + 0x00000260u;
|
|
/* 0209619C */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 020961A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020961A4 */ cpu->r[31] = cpu->r[29] + 0x00000004u;
|
|
/* 020961A8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020961A8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 020961A8 */ if (_t28) goto L_020961AC; else goto L_020961D4;
|
|
L_020961AC: ; // 0x20961ac
|
|
/* 020961AC */ _t29 = cpu->r[29] + 0x00000004u;
|
|
/* 020961AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 020961B0 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 020961B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 020961B4 */ _t31 = cpu->r[12] + 0x0000008Cu;
|
|
/* 020961B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 020961B8 */ cpu->ctr = cpu->r[4];
|
|
/* 020961BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020961C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020961C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020961C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 020961C4 */ if (_t33) goto L_020961C8; else goto L_020961F0;
|
|
L_020961C8: ; // 0x20961c8
|
|
/* 020961C8 */ _t34 = cpu->r[30] + 0x00000260u;
|
|
/* 020961C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34);
|
|
/* 020961CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 020961D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020961D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 020961D0 */ if (_t36) goto L_02096240; else goto L_020961D4;
|
|
L_020961D4: ; // 0x20961d4
|
|
/* 020961D4 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 020961D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020961D8 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 020961D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 020961DC */ _t39 = cpu->r[6] + 0x0000008Cu;
|
|
/* 020961DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 020961E0 */ cpu->ctr = cpu->r[7];
|
|
/* 020961E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020961E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020961EC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020961EC */ _t41 = _t40 & 0x00000001u;
|
|
/* 020961EC */ if (_t41) goto L_02096240; else goto L_020961F0;
|
|
L_020961F0: ; // 0x20961f0
|
|
/* 020961F0 */ _t42 = cpu->r[30] + 0x00000260u;
|
|
/* 020961F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t42);
|
|
/* 020961F4 */ cpu->r[8] = cpu->r[8] ^ 0x00000001u;
|
|
/* 020961F8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 020961FC */ _t43 = cpu->r[30] + 0x00000260u;
|
|
/* 020961FC */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[8]);
|
|
/* 02096200 */ Gambit_fn_02173004(cpu);
|
|
/* 02096204 */ cpu->r[9] = 0x00000000u;
|
|
/* 02096208 */ _t44 = cpu->r[30] + 0x00000260u;
|
|
/* 02096208 */ cpu->r[5] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0209620C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02096210 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02096214 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02096214 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02096218 */ Gambit_fn_02173154(cpu);
|
|
/* 0209621C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02096220 */ Gambit_fn_021730F4(cpu);
|
|
/* 02096224 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02096228 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209622C */ _t46 = cpu->r[12] + 0x00001358u;
|
|
/* 0209622C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02096230 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02096234 */ cpu->r[4] = 0x00000002u;
|
|
/* 02096238 */ _t47 = cpu->r[12] + 0x000002F0u;
|
|
/* 02096238 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
/* 0209623C */ Gambit_fn_021730E0(cpu);
|
|
L_02096240: ; // 0x2096240
|
|
/* 02096240 */ _t48 = cpu->r[31] + 0x00000000u;
|
|
/* 02096240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02096244 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02096244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02096248 */ _t50 = cpu->r[11] + 0x000000DCu;
|
|
/* 02096248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0209624C */ cpu->ctr = cpu->r[0];
|
|
/* 02096250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096258 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096258 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02096258 */ if (_t52) goto L_0209625C; else goto L_02096278;
|
|
L_0209625C: ; // 0x209625c
|
|
/* 0209625C */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 0209625C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02096260 */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02096260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02096264 */ _t55 = cpu->r[11] + 0x000000DCu;
|
|
/* 02096264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02096268 */ cpu->ctr = cpu->r[12];
|
|
/* 0209626C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096274 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096274 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02096274 */ if (_t57) goto L_02096284; else goto L_02096278;
|
|
L_02096278: ; // 0x2096278
|
|
/* 02096278 */ cpu->r[3] = cpu->r[30] + 0x000001DCu;
|
|
/* 0209627C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02096280 */ Gambit_fn_02090220(cpu);
|
|
L_02096284: ; // 0x2096284
|
|
/* 02096284 */ _t58 = cpu->r[1] + 0x00000190u;
|
|
/* 02096284 */ cpu->r[28] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02096288 */ _t59 = cpu->r[1] + 0x00000194u;
|
|
/* 02096288 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0209628C */ _t60 = cpu->r[1] + 0x000001A4u;
|
|
/* 0209628C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02096290 */ _t61 = cpu->r[1] + 0x00000198u;
|
|
/* 02096290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02096294 */ cpu->lr = cpu->r[0];
|
|
/* 02096298 */ _t62 = cpu->r[1] + 0x0000019Cu;
|
|
/* 02096298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209629C */ cpu->r[1] = cpu->r[1] + 0x000001A0u;
|
|
/* 020962A0 */ return;
|
|
}
|
|
|
|
// fn_020962A4 @ 0x20962a4
|
|
void Gambit_fn_020962A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_020962A4: ; // 0x20962a4
|
|
/* 020962A4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 020962A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020962A4 */ cpu->r[1] = _t0;
|
|
/* 020962A8 */ /* nop */
|
|
/* 020962AC */ cpu->r[0] = cpu->lr;
|
|
/* 020962B0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020962B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020962B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020962B8 */ _t2 = cpu->r[31] + 0x000001E4u;
|
|
/* 020962B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020962BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 020962C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020962C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 020962C0 */ if (_t4) goto L_020962C4; else goto L_0209631C;
|
|
L_020962C4: ; // 0x20962c4
|
|
/* 020962C4 */ cpu->r[12] = 0x10010000u;
|
|
/* 020962C8 */ cpu->r[4] = 0x10010000u;
|
|
/* 020962CC */ cpu->r[0] = 0x10010000u;
|
|
/* 020962D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE99Cu;
|
|
/* 020962D4 */ _t5 = cpu->r[4] + 0xFFFFED74u;
|
|
/* 020962D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 020962D8 */ cpu->r[4] = 0x00000001u;
|
|
/* 020962DC */ cpu->r[0] = cpu->r[0] + 0xFFFFEDC0u;
|
|
/* 020962E0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020962E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 020962E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020962E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020962EC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 020962EC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 020962F0 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 020962F4 */ _t8 = cpu->r[31] + 0x00000260u;
|
|
/* 020962F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 020962F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 020962FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02096300 */ _t9 = cpu->r[31] + 0x00000244u;
|
|
/* 02096300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02096304 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096304 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02096304 */ if (_t11) goto L_0209630C; else goto L_02096308;
|
|
L_02096308: ; // 0x2096308
|
|
/* 02096308 */ cpu->r[4] = 0x00000005u;
|
|
L_0209630C: ; // 0x209630c
|
|
/* 0209630C */ cpu->r[5] = 0x00000003u;
|
|
/* 02096310 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02096314 */ _t12 = cpu->r[31] + 0x00000244u;
|
|
/* 02096314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096318 */ Gambit_fn_020A7E60(cpu);
|
|
L_0209631C: ; // 0x209631c
|
|
/* 0209631C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096320 */ cpu->r[4] = 0x00000001u;
|
|
/* 02096324 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02096328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209632C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209632C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209632C */ if (_t14) goto L_020963C8; else goto L_02096330;
|
|
L_02096330: ; // 0x2096330
|
|
/* 02096330 */ cpu->r[27] = 0x00000000u;
|
|
/* 02096334 */ cpu->r[30] = cpu->r[31] + 0x00000230u;
|
|
/* 02096338 */ cpu->r[29] = cpu->r[27];
|
|
/* 0209633C */ goto L_02096348;
|
|
L_02096340: ; // 0x2096340
|
|
/* 02096340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000002u);
|
|
/* 02096344 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096344 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02096344 */ if (_t16) goto L_02096348; else goto L_02096354;
|
|
L_02096348: ; // 0x2096348
|
|
/* 02096348 */ cpu->r[7] = cpu->r[30] + cpu->r[29];
|
|
/* 0209634C */ cpu->r[28] = cpu->r[29];
|
|
/* 02096350 */ goto L_02096358;
|
|
L_02096354: ; // 0x2096354
|
|
/* 02096354 */ cpu->r[7] = cpu->r[30];
|
|
L_02096358: ; // 0x2096358
|
|
/* 02096358 */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02096358 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209635C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0209635C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02096360 */ _t19 = cpu->r[6] + 0x000000DCu;
|
|
/* 02096360 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02096364 */ cpu->ctr = cpu->r[8];
|
|
/* 02096368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209636C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096370 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096370 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02096370 */ if (_t21) goto L_020963A8; else goto L_02096374;
|
|
L_02096374: ; // 0x2096374
|
|
/* 02096374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000002u);
|
|
/* 02096378 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096378 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02096378 */ if (_t23) goto L_0209637C; else goto L_02096394;
|
|
L_0209637C: ; // 0x209637c
|
|
/* 0209637C */ _t24 = cpu->r[30] + cpu->r[28];
|
|
/* 0209637C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02096380 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02096380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02096384 */ _t26 = cpu->r[12] + 0x000000CCu;
|
|
/* 02096384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02096388 */ cpu->ctr = cpu->r[0];
|
|
/* 0209638C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096390 */ goto L_020963A8;
|
|
L_02096394: ; // 0x2096394
|
|
/* 02096394 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02096394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02096398 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02096398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209639C */ _t29 = cpu->r[12] + 0x000000CCu;
|
|
/* 0209639C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 020963A0 */ cpu->ctr = cpu->r[0];
|
|
/* 020963A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020963A8: ; // 0x20963a8
|
|
/* 020963A8 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 020963AC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 020963B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000002u);
|
|
/* 020963B4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 020963B8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020963B8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 020963B8 */ if (_t31) goto L_02096340; else goto L_020963BC;
|
|
L_020963BC: ; // 0x20963bc
|
|
/* 020963BC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020963C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 020963C4 */ Gambit_fn_02090220(cpu);
|
|
L_020963C8: ; // 0x20963c8
|
|
/* 020963C8 */ /* nop */
|
|
/* 020963CC */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020963CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 020963D0 */ cpu->lr = cpu->r[0];
|
|
/* 020963D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 020963D8 */ return;
|
|
}
|
|
|
|
// fn_020963E0 @ 0x20963e0
|
|
void Gambit_fn_020963E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_020963E0: ; // 0x20963e0
|
|
/* 020963E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020963E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020963E0 */ cpu->r[1] = _t0;
|
|
/* 020963E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 020963E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020963E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020963EC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020963EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020963F0 */ _t3 = cpu->r[31] + 0x000001E4u;
|
|
/* 020963F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020963F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 020963F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020963F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020963F8 */ if (_t5) goto L_020963FC; else goto L_0209642C;
|
|
L_020963FC: ; // 0x20963fc
|
|
/* 020963FC */ cpu->r[11] = 0x10010000u;
|
|
/* 02096400 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096404 */ cpu->r[10] = 0x10010000u;
|
|
/* 02096408 */ cpu->r[11] = cpu->r[11] + 0xFFFFE99Cu;
|
|
/* 0209640C */ cpu->r[0] = cpu->r[0] + 0xFFFFEDC8u;
|
|
/* 02096410 */ _t6 = cpu->r[10] + 0xFFFFED50u;
|
|
/* 02096410 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02096414 */ cpu->r[4] = 0x00000000u;
|
|
/* 02096418 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209641C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209641C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02096420 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02096424 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02096424 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096428 */ Gambit_fn_027ED1E4(cpu);
|
|
L_0209642C: ; // 0x209642c
|
|
/* 0209642C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096430 */ cpu->r[4] = 0x00000000u;
|
|
/* 02096434 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02096438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209643C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209643C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209643C */ if (_t10) goto L_02096454; else goto L_02096440;
|
|
L_02096440: ; // 0x2096440
|
|
/* 02096440 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02096440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02096444 */ _t12 = cpu->r[12] + 0x00000094u;
|
|
/* 02096444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096448 */ cpu->ctr = cpu->r[0];
|
|
/* 0209644C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02096454: ; // 0x2096454
|
|
/* 02096454 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096458 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02096458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209645C */ cpu->lr = cpu->r[0];
|
|
/* 02096460 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02096464 */ return;
|
|
}
|
|
|
|
// fn_02096468 @ 0x2096468
|
|
void Gambit_fn_02096468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02096468: ; // 0x2096468
|
|
/* 02096468 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0209646C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209646C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209646C */ cpu->r[1] = _t0;
|
|
/* 02096470 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02096474 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02096478 */ _t1 = cpu->r[10] + 0xFFFFD8A0u;
|
|
/* 02096478 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02096478 */ cpu->r[10] = _t1;
|
|
/* 0209647C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02096480 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02096480 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02096484 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02096488 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209648C */ _t3 = cpu->r[7] + 0xFFFFD8B0u;
|
|
/* 0209648C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209648C */ cpu->r[7] = _t3;
|
|
/* 02096490 */ _t4 = cpu->r[8] + 0xFFFFD8A8u;
|
|
/* 02096490 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02096490 */ cpu->r[8] = _t4;
|
|
/* 02096494 */ cpu->r[0] = 0x00000002u;
|
|
/* 02096498 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02096498 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209649C */ cpu->r[8] = 0x101E0000u;
|
|
/* 020964A0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 020964A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020964A4 */ cpu->r[12] = 0x101E0000u;
|
|
/* 020964A8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 020964A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 020964AC */ _t8 = cpu->r[8] + 0xFFFFD8C0u;
|
|
/* 020964AC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 020964AC */ cpu->r[8] = _t8;
|
|
/* 020964B0 */ _t9 = cpu->r[12] + 0xFFFFD8B8u;
|
|
/* 020964B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 020964B0 */ cpu->r[12] = _t9;
|
|
/* 020964B4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 020964B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 020964B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 020964BC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 020964BC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 020964C0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020964C4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 020964C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020964C8 */ _t13 = cpu->r[11] + 0xFFFFD8C8u;
|
|
/* 020964C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020964CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020964D0 */ return;
|
|
}
|
|
|
|
// fn_0209646C @ 0x209646c
|
|
void Gambit_fn_0209646C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209646C: ; // 0x209646c
|
|
/* 0209646C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209646C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209646C */ cpu->r[1] = _t0;
|
|
/* 02096470 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02096474 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02096478 */ _t1 = cpu->r[10] + 0xFFFFD8A0u;
|
|
/* 02096478 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02096478 */ cpu->r[10] = _t1;
|
|
/* 0209647C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02096480 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02096480 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02096484 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02096488 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209648C */ _t3 = cpu->r[7] + 0xFFFFD8B0u;
|
|
/* 0209648C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209648C */ cpu->r[7] = _t3;
|
|
/* 02096490 */ _t4 = cpu->r[8] + 0xFFFFD8A8u;
|
|
/* 02096490 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02096490 */ cpu->r[8] = _t4;
|
|
/* 02096494 */ cpu->r[0] = 0x00000002u;
|
|
/* 02096498 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02096498 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209649C */ cpu->r[8] = 0x101E0000u;
|
|
/* 020964A0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 020964A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020964A4 */ cpu->r[12] = 0x101E0000u;
|
|
/* 020964A8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 020964A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 020964AC */ _t8 = cpu->r[8] + 0xFFFFD8C0u;
|
|
/* 020964AC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 020964AC */ cpu->r[8] = _t8;
|
|
/* 020964B0 */ _t9 = cpu->r[12] + 0xFFFFD8B8u;
|
|
/* 020964B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 020964B0 */ cpu->r[12] = _t9;
|
|
/* 020964B4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 020964B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 020964B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 020964BC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 020964BC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 020964C0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020964C4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 020964C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020964C8 */ _t13 = cpu->r[11] + 0xFFFFD8C8u;
|
|
/* 020964C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020964CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020964D0 */ return;
|
|
}
|
|
|
|
// fn_020964D4 @ 0x20964d4
|
|
void Gambit_fn_020964D4(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_020964D4: ; // 0x20964d4
|
|
/* 020964D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020964D8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020964D8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020964D8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020964D8 */ goto L_020964DC;
|
|
L_020964DC: ; // 0x20964dc
|
|
/* 020964DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020964DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020964E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020964E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020964E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020964E0 */ goto L_020964E4;
|
|
L_020964E4: ; // 0x20964e4
|
|
/* 020964E4 */ 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_020964E8 @ 0x20964e8
|
|
void Gambit_fn_020964E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020964E8: ; // 0x20964e8
|
|
/* 020964E8 */ cpu->r[0] = cpu->lr;
|
|
/* 020964EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020964EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020964EC */ cpu->r[1] = _t0;
|
|
/* 020964F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020964F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020964F4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020964F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020964F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020964F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020964FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02096500 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02096500 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02096504 */ if (_t5) goto L_02096548; else goto L_02096508;
|
|
L_02096508: ; // 0x2096508
|
|
/* 02096508 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209650C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096510 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF3Cu;
|
|
/* 02096514 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF2Cu;
|
|
/* 02096518 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209651C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209651C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02096520 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096524 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02096524 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02096528 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 0209652C */ cpu->r[4] = 0x00000000u;
|
|
/* 02096530 */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 02096530 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096534 */ Gambit_fn_02068798(cpu);
|
|
/* 02096538 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02096538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209653C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209653C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209653C */ if (_t10) goto L_02096548; else goto L_02096540;
|
|
L_02096540: ; // 0x2096540
|
|
/* 02096540 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096544 */ Gambit_fn_02801BB0(cpu);
|
|
L_02096548: ; // 0x2096548
|
|
/* 02096548 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02096548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209654C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209654C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096550 */ cpu->lr = cpu->r[0];
|
|
/* 02096554 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096558 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209655C */ return;
|
|
}
|
|
|
|
// fn_020964EC @ 0x20964ec
|
|
void Gambit_fn_020964EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020964EC: ; // 0x20964ec
|
|
/* 020964EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020964EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020964EC */ cpu->r[1] = _t0;
|
|
/* 020964F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020964F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020964F4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020964F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020964F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020964F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020964FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02096500 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02096500 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02096504 */ if (_t5) goto L_02096548; else goto L_02096508;
|
|
L_02096508: ; // 0x2096508
|
|
/* 02096508 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209650C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096510 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF3Cu;
|
|
/* 02096514 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF2Cu;
|
|
/* 02096518 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209651C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209651C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02096520 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096524 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02096524 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02096528 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 0209652C */ cpu->r[4] = 0x00000000u;
|
|
/* 02096530 */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 02096530 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096534 */ Gambit_fn_02068798(cpu);
|
|
/* 02096538 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02096538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209653C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209653C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209653C */ if (_t10) goto L_02096548; else goto L_02096540;
|
|
L_02096540: ; // 0x2096540
|
|
/* 02096540 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096544 */ Gambit_fn_02801BB0(cpu);
|
|
L_02096548: ; // 0x2096548
|
|
/* 02096548 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02096548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209654C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209654C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096550 */ cpu->lr = cpu->r[0];
|
|
/* 02096554 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096558 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209655C */ return;
|
|
}
|
|
|
|
// fn_02096560 @ 0x2096560
|
|
void Gambit_fn_02096560(CPUState* cpu) {
|
|
L_02096560: ; // 0x2096560
|
|
/* 02096560 */ return;
|
|
}
|
|
|
|
// fn_02096564 @ 0x2096564
|
|
void Gambit_fn_02096564(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02096564: ; // 0x2096564
|
|
/* 02096564 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02096564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02096568 */ return;
|
|
}
|
|
|
|
// fn_0209656C @ 0x209656c
|
|
void Gambit_fn_0209656C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209656C: ; // 0x209656c
|
|
/* 0209656C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209656C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02096570 */ return;
|
|
}
|
|
|
|
// fn_02096574 @ 0x2096574
|
|
void Gambit_fn_02096574(CPUState* cpu) {
|
|
L_02096574: ; // 0x2096574
|
|
/* 02096574 */ return;
|
|
}
|
|
|
|
// fn_02096578 @ 0x2096578
|
|
void Gambit_fn_02096578(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_02096578: ; // 0x2096578
|
|
/* 02096578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209657C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209657C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209657C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209657C */ goto L_02096580;
|
|
L_02096580: ; // 0x2096580
|
|
/* 02096580 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02096580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02096584 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096584 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02096584 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02096584 */ goto L_02096588;
|
|
L_02096588: ; // 0x2096588
|
|
/* 02096588 */ 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_0209658C @ 0x209658c
|
|
void Gambit_fn_0209658C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209658C: ; // 0x209658c
|
|
/* 0209658C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209658C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02096590 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02096590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02096594 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02096598 */ cpu->r[11] = 0x10110000u;
|
|
/* 0209659C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0209659C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 020965A0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 020965A0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 020965A4 */ return;
|
|
}
|
|
|
|
// fn_020965A8 @ 0x20965a8
|
|
void Gambit_fn_020965A8(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_020965A8: ; // 0x20965a8
|
|
/* 020965A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020965AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 020965AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965AC */ goto L_020965B0;
|
|
L_020965B0: ; // 0x20965b0
|
|
/* 020965B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020965B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020965B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020965B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965B4 */ goto L_020965B8;
|
|
L_020965B8: ; // 0x20965b8
|
|
/* 020965B8 */ 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_020965BC @ 0x20965bc
|
|
void Gambit_fn_020965BC(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_020965BC: ; // 0x20965bc
|
|
/* 020965BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020965C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020965C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965C0 */ goto L_020965C4;
|
|
L_020965C4: ; // 0x20965c4
|
|
/* 020965C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020965C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020965C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020965C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965C8 */ goto L_020965CC;
|
|
L_020965CC: ; // 0x20965cc
|
|
/* 020965CC */ 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_020965D0 @ 0x20965d0
|
|
void Gambit_fn_020965D0(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_020965D0: ; // 0x20965d0
|
|
/* 020965D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020965D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020965D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965D4 */ goto L_020965D8;
|
|
L_020965D8: ; // 0x20965d8
|
|
/* 020965D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020965D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020965DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 020965DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965DC */ goto L_020965E0;
|
|
L_020965E0: ; // 0x20965e0
|
|
/* 020965E0 */ 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_020965E4 @ 0x20965e4
|
|
void Gambit_fn_020965E4(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_020965E4: ; // 0x20965e4
|
|
/* 020965E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020965E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020965E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965E8 */ goto L_020965EC;
|
|
L_020965EC: ; // 0x20965ec
|
|
/* 020965EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020965EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020965F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020965F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020965F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020965F0 */ goto L_020965F4;
|
|
L_020965F4: ; // 0x20965f4
|
|
/* 020965F4 */ 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_020965F8 @ 0x20965f8
|
|
void Gambit_fn_020965F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020965F8: ; // 0x20965f8
|
|
/* 020965F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 020965F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020965FC */ return;
|
|
}
|
|
|
|
// fn_02096600 @ 0x2096600
|
|
void Gambit_fn_02096600(CPUState* cpu) {
|
|
L_02096600: ; // 0x2096600
|
|
/* 02096600 */ return;
|
|
}
|
|
|
|
// fn_02096604 @ 0x2096604
|
|
void Gambit_fn_02096604(CPUState* cpu) {
|
|
L_02096604: ; // 0x2096604
|
|
/* 02096604 */ return;
|
|
}
|
|
|
|
// fn_02096608 @ 0x2096608
|
|
void Gambit_fn_02096608(CPUState* cpu) {
|
|
L_02096608: ; // 0x2096608
|
|
/* 02096608 */ return;
|
|
}
|
|
|
|
// fn_0209660C @ 0x209660c
|
|
void Gambit_fn_0209660C(CPUState* cpu) {
|
|
L_0209660C: ; // 0x209660c
|
|
/* 0209660C */ return;
|
|
}
|
|
|
|
// fn_02096610 @ 0x2096610
|
|
void Gambit_fn_02096610(CPUState* cpu) {
|
|
L_02096610: ; // 0x2096610
|
|
/* 02096610 */ return;
|
|
}
|
|
|
|
// fn_02096614 @ 0x2096614
|
|
void Gambit_fn_02096614(CPUState* cpu) {
|
|
L_02096614: ; // 0x2096614
|
|
/* 02096614 */ cpu->r[3] = 0x00000001u;
|
|
/* 02096618 */ return;
|
|
}
|
|
|
|
// fn_0209661C @ 0x209661c
|
|
void Gambit_fn_0209661C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209661C: ; // 0x209661c
|
|
/* 0209661C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209661C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02096620 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02096620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02096624 */ cpu->ctr = cpu->r[0];
|
|
/* 02096628 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209662C @ 0x209662c
|
|
void Gambit_fn_0209662C(CPUState* cpu) {
|
|
L_0209662C: ; // 0x209662c
|
|
/* 0209662C */ return;
|
|
}
|
|
|
|
// fn_02096630 @ 0x2096630
|
|
void Gambit_fn_02096630(CPUState* cpu) {
|
|
L_02096630: ; // 0x2096630
|
|
/* 02096630 */ cpu->r[3] = 0x00000000u;
|
|
/* 02096634 */ return;
|
|
}
|
|
|
|
// fn_02096638 @ 0x2096638
|
|
void Gambit_fn_02096638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02096638: ; // 0x2096638
|
|
/* 02096638 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209663C */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0209663C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209663C */ cpu->r[9] = _t0;
|
|
/* 02096640 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02096644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02096648 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0209664C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209664C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209664C */ if (_t2) goto L_02096650; else goto L_02096664;
|
|
L_02096650: ; // 0x2096650
|
|
/* 02096650 */ cpu->r[7] = 0x10010000u;
|
|
/* 02096654 */ cpu->r[0] = 0x00000001u;
|
|
/* 02096658 */ cpu->r[7] = cpu->r[7] + 0xFFFFEA3Cu;
|
|
/* 0209665C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0209665C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096660 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02096660 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02096664: ; // 0x2096664
|
|
/* 02096664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02096668 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096668 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096668 */ if (_t6) goto L_0209666C; else goto L_02096674;
|
|
L_0209666C: ; // 0x209666c
|
|
/* 0209666C */ cpu->r[3] = 0x00000001u;
|
|
/* 02096670 */ return;
|
|
L_02096674: ; // 0x2096674
|
|
/* 02096674 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02096678 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02096678 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02096678 */ cpu->r[7] = _t7;
|
|
/* 0209667C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02096680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02096684 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02096688 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096688 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02096688 */ if (_t9) goto L_0209668C; else goto L_020966A0;
|
|
L_0209668C: ; // 0x209668c
|
|
/* 0209668C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096690 */ cpu->r[9] = 0x00000001u;
|
|
/* 02096694 */ cpu->r[0] = cpu->r[0] + 0xFFFFE98Cu;
|
|
/* 02096698 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02096698 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209669C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0209669C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_020966A0: ; // 0x20966a0
|
|
/* 020966A0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 020966A4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 020966A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 020966AC */ return;
|
|
}
|
|
|
|
// fn_020966B0 @ 0x20966b0
|
|
void Gambit_fn_020966B0(CPUState* cpu) {
|
|
L_020966B0: ; // 0x20966b0
|
|
/* 020966B0 */ return;
|
|
}
|
|
|
|
// fn_020966B4 @ 0x20966b4
|
|
void Gambit_fn_020966B4(CPUState* cpu) {
|
|
L_020966B4: ; // 0x20966b4
|
|
/* 020966B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 020966B8 */ return;
|
|
}
|
|
|
|
// fn_020966BC @ 0x20966bc
|
|
void Gambit_fn_020966BC(CPUState* cpu) {
|
|
L_020966BC: ; // 0x20966bc
|
|
/* 020966BC */ return;
|
|
}
|
|
|
|
// fn_020966C0 @ 0x20966c0
|
|
void Gambit_fn_020966C0(CPUState* cpu) {
|
|
L_020966C0: ; // 0x20966c0
|
|
/* 020966C0 */ return;
|
|
}
|
|
|
|
// fn_020966C4 @ 0x20966c4
|
|
void Gambit_fn_020966C4(CPUState* cpu) {
|
|
L_020966C4: ; // 0x20966c4
|
|
/* 020966C4 */ return;
|
|
}
|
|
|
|
// fn_020966C8 @ 0x20966c8
|
|
void Gambit_fn_020966C8(CPUState* cpu) {
|
|
L_020966C8: ; // 0x20966c8
|
|
/* 020966C8 */ return;
|
|
}
|
|
|
|
// fn_020966CC @ 0x20966cc
|
|
void Gambit_fn_020966CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02090128: ; // 0x2090128
|
|
/* 02090128 */ cpu->r[0] = cpu->lr;
|
|
/* 0209012C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209012C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209012C */ cpu->r[1] = _t0;
|
|
/* 02090130 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02090130 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02090134 */ cpu->r[31] = cpu->r[3];
|
|
/* 02090138 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02090138 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209013C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0209013C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02090140 */ cpu->r[12] = 0x00000000u;
|
|
/* 02090144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02090148 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02090148 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209014C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209014C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209014C */ if (_t6) goto L_02090174; else goto L_02090150;
|
|
L_02090150: ; // 0x2090150
|
|
/* 02090150 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02090150 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02090154 */ /* nop */
|
|
/* 02090158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0209015C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209015C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209015C */ if (_t9) goto L_02090160; else goto L_02090174;
|
|
L_02090160: ; // 0x2090160
|
|
/* 02090160 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02090160 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02090164 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02090164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02090168 */ cpu->ctr = cpu->r[0];
|
|
/* 0209016C */ cpu->r[3] = cpu->r[31];
|
|
/* 02090170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02090174: ; // 0x2090174
|
|
/* 02090174 */ cpu->r[3] = cpu->r[31];
|
|
/* 02090178 */ Gambit_fn_020900A0(cpu);
|
|
/* 0209017C */ cpu->r[3] = cpu->r[31];
|
|
/* 02090180 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02090184 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02090184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02090188 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02090188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209018C */ cpu->lr = cpu->r[0];
|
|
/* 02090190 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02090194 */ return;
|
|
L_020966CC: ; // 0x20966cc
|
|
/* 020966CC */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 020966D0 */ goto L_02090128;
|
|
}
|
|
|
|
// fn_020966E4 @ 0x20966e4
|
|
void Gambit_fn_020966E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_020966E4: ; // 0x20966e4
|
|
/* 020966E4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 020966E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020966E4 */ cpu->r[1] = _t0;
|
|
/* 020966E8 */ /* nop */
|
|
/* 020966EC */ cpu->r[0] = cpu->lr;
|
|
/* 020966F0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 020966F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020966F4 */ cpu->r[29] = cpu->r[6];
|
|
/* 020966F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 020966FC */ cpu->r[30] = cpu->r[5];
|
|
/* 02096700 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02096700 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02096704 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02096708 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02096708 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0209670C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096710 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02096710 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02096714 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096714 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096714 */ if (_t6) goto L_02096758; else goto L_02096718;
|
|
L_02096718: ; // 0x2096718
|
|
/* 02096718 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02096718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209671C */ Gambit_fn_02826F20(cpu);
|
|
/* 02096720 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02096720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02096724 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02096724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02096728 */ cpu->ctr = cpu->r[0];
|
|
/* 0209672C */ cpu->r[5] = 0x00000004u;
|
|
/* 02096730 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02096734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209673C */ cpu->r[0] = cpu->r[27];
|
|
/* 02096740 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096740 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02096740 */ if (_t11) goto L_02096748; else goto L_02096744;
|
|
L_02096744: ; // 0x2096744
|
|
/* 02096744 */ cpu->r[0] = 0x00000001u;
|
|
L_02096748: ; // 0x2096748
|
|
/* 02096748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209674C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209674C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209674C */ if (_t13) goto L_02096758; else goto L_02096750;
|
|
L_02096750: ; // 0x2096750
|
|
/* 02096750 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02096750 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02096754 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02096754 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02096758: ; // 0x2096758
|
|
/* 02096758 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02096758 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209675C */ cpu->r[0] = 0x00000000u;
|
|
/* 02096760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02096764 */ cpu->r[12] = cpu->r[0];
|
|
/* 02096768 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096768 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02096768 */ if (_t18) goto L_0209676C; else goto L_02096790;
|
|
L_0209676C: ; // 0x209676c
|
|
/* 0209676C */ cpu->ctr = cpu->r[7];
|
|
/* 02096770 */ cpu->r[10] = 0x00000000u;
|
|
L_02096774: ; // 0x2096774
|
|
/* 02096774 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02096774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02096778 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02096778 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0209677C */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02096780 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02096780 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02096784 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02096788 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02096788 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0209678C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209678C */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209678C */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0209678C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209678C */ if (_t25) goto L_02096774; else goto L_02096790;
|
|
L_02096790: ; // 0x2096790
|
|
/* 02096790 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02096790 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02096794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096798 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096798 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02096798 */ if (_t28) goto L_020967DC; else goto L_0209679C;
|
|
L_0209679C: ; // 0x209679c
|
|
/* 0209679C */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0209679C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 020967A0 */ Gambit_fn_02826F20(cpu);
|
|
/* 020967A4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 020967A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 020967A8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 020967A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 020967AC */ cpu->ctr = cpu->r[0];
|
|
/* 020967B0 */ cpu->r[5] = 0x00000004u;
|
|
/* 020967B4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 020967B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020967BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 020967C0 */ cpu->r[11] = cpu->r[27];
|
|
/* 020967C4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020967C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 020967C4 */ if (_t33) goto L_020967CC; else goto L_020967C8;
|
|
L_020967C8: ; // 0x20967c8
|
|
/* 020967C8 */ cpu->r[11] = 0x00000001u;
|
|
L_020967CC: ; // 0x20967cc
|
|
/* 020967CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020967D0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020967D0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 020967D0 */ if (_t35) goto L_020967DC; else goto L_020967D4;
|
|
L_020967D4: ; // 0x20967d4
|
|
/* 020967D4 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 020967D4 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 020967D8 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 020967D8 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_020967DC: ; // 0x20967dc
|
|
/* 020967DC */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 020967DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 020967E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 020967E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 020967E8 */ cpu->r[12] = cpu->r[0];
|
|
/* 020967EC */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020967EC */ _t40 = _t39 & 0x00000001u;
|
|
/* 020967EC */ if (_t40) goto L_020967F0; else goto L_02096814;
|
|
L_020967F0: ; // 0x20967f0
|
|
/* 020967F0 */ cpu->ctr = cpu->r[6];
|
|
/* 020967F4 */ cpu->r[9] = 0x00000000u;
|
|
L_020967F8: ; // 0x20967f8
|
|
/* 020967F8 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 020967F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 020967FC */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 020967FC */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02096800 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02096804 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02096804 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02096808 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0209680C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0209680C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02096810 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096810 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096810 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02096810 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02096810 */ if (_t47) goto L_020967F8; else goto L_02096814;
|
|
L_02096814: ; // 0x2096814
|
|
/* 02096814 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02096814 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02096818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209681C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209681C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209681C */ if (_t50) goto L_02096860; else goto L_02096820;
|
|
L_02096820: ; // 0x2096820
|
|
/* 02096820 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02096820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02096824 */ Gambit_fn_02826F20(cpu);
|
|
/* 02096828 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02096828 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0209682C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0209682C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02096830 */ cpu->ctr = cpu->r[0];
|
|
/* 02096834 */ cpu->r[5] = 0x00000004u;
|
|
/* 02096838 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209683C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096844 */ cpu->r[10] = cpu->r[27];
|
|
/* 02096848 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096848 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02096848 */ if (_t55) goto L_02096850; else goto L_0209684C;
|
|
L_0209684C: ; // 0x209684c
|
|
/* 0209684C */ cpu->r[10] = 0x00000001u;
|
|
L_02096850: ; // 0x2096850
|
|
/* 02096850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096854 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096854 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02096854 */ if (_t57) goto L_02096860; else goto L_02096858;
|
|
L_02096858: ; // 0x2096858
|
|
/* 02096858 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02096858 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0209685C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0209685C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02096860: ; // 0x2096860
|
|
/* 02096860 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02096860 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02096864 */ cpu->r[0] = 0x00000000u;
|
|
/* 02096868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209686C */ cpu->r[5] = cpu->r[0];
|
|
/* 02096870 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096870 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02096870 */ if (_t62) goto L_02096874; else goto L_02096898;
|
|
L_02096874: ; // 0x2096874
|
|
/* 02096874 */ cpu->ctr = cpu->r[12];
|
|
/* 02096878 */ cpu->r[8] = 0x00000000u;
|
|
L_0209687C: ; // 0x209687c
|
|
/* 0209687C */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0209687C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02096880 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02096880 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02096884 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02096888 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02096888 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0209688C */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02096890 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02096890 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02096894 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096894 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096894 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02096894 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02096894 */ if (_t69) goto L_0209687C; else goto L_02096898;
|
|
L_02096898: ; // 0x2096898
|
|
/* 02096898 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02096898 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0209689C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 020968A0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020968A0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 020968A0 */ if (_t72) goto L_0209697C; else goto L_020968A4;
|
|
L_020968A4: ; // 0x20968a4
|
|
/* 020968A4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 020968A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 020968A8 */ Gambit_fn_02826F20(cpu);
|
|
/* 020968AC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 020968AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 020968B0 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 020968B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 020968B4 */ cpu->ctr = cpu->r[12];
|
|
/* 020968B8 */ cpu->r[5] = 0x00000004u;
|
|
/* 020968BC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 020968C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020968C4 */ cpu->r[24] = cpu->r[3];
|
|
/* 020968C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 020968CC */ cpu->r[30] = cpu->r[25];
|
|
/* 020968D0 */ cpu->r[7] = 0x00000000u;
|
|
/* 020968D4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020968D4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 020968D4 */ if (_t77) goto L_020968DC; else goto L_020968D8;
|
|
L_020968D8: ; // 0x20968d8
|
|
/* 020968D8 */ cpu->r[30] = 0x00000001u;
|
|
L_020968DC: ; // 0x20968dc
|
|
/* 020968DC */ cpu->r[31] = 0x10110000u;
|
|
/* 020968E0 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 020968E4 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 020968E4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 020968E8 */ cpu->r[23] = 0x00000018u;
|
|
L_020968EC: ; // 0x20968ec
|
|
/* 020968EC */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 020968EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 020968F0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020968F0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 020968F0 */ if (_t80) goto L_02096960; else goto L_020968F4;
|
|
L_020968F4: ; // 0x20968f4
|
|
/* 020968F4 */ cpu->r[26] = cpu->r[27];
|
|
/* 020968F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 020968F8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020968F8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 020968F8 */ if (_t82) goto L_020968FC; else goto L_0209690C;
|
|
L_020968FC: ; // 0x20968fc
|
|
/* 020968FC */ cpu->r[3] = 0x00000024u;
|
|
/* 02096900 */ Gambit_fn_02801A78(cpu);
|
|
/* 02096904 */ cpu->r[26] = cpu->r[3];
|
|
/* 02096904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02096908 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096908 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02096908 */ if (_t84) goto L_02096954; else goto L_0209690C;
|
|
L_0209690C: ; // 0x209690c
|
|
/* 0209690C */ cpu->r[11] = cpu->r[26];
|
|
/* 0209690C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02096910 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096910 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02096910 */ if (_t86) goto L_02096914; else goto L_02096924;
|
|
L_02096914: ; // 0x2096914
|
|
/* 02096914 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02096918 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209691C */ cpu->r[11] = cpu->r[3];
|
|
/* 0209691C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02096920 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096920 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02096920 */ if (_t88) goto L_02096940; else goto L_02096924;
|
|
L_02096924: ; // 0x2096924
|
|
/* 02096924 */ cpu->r[5] = 0x10010000u;
|
|
/* 02096928 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02096928 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0209692C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02096930 */ cpu->r[5] = cpu->r[5] + 0xFFFFE9B4u;
|
|
/* 02096934 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02096934 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02096938 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02096938 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0209693C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0209693C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02096940: ; // 0x2096940
|
|
/* 02096940 */ cpu->r[6] = 0x10010000u;
|
|
/* 02096944 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02096944 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02096948 */ cpu->r[6] = cpu->r[6] + 0xFFFFE9FCu;
|
|
/* 0209694C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0209694C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02096950 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02096950 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02096954: ; // 0x2096954
|
|
/* 02096954 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096958 */ cpu->r[0] = cpu->r[0] + 0xFFFFEA14u;
|
|
/* 0209695C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0209695C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02096960: ; // 0x2096960
|
|
/* 02096960 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02096960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02096964 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02096968 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096968 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02096968 */ if (_t98) goto L_0209696C; else goto L_020968EC;
|
|
L_0209696C: ; // 0x209696c
|
|
/* 0209696C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02096970 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096970 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02096970 */ if (_t100) goto L_0209697C; else goto L_02096974;
|
|
L_02096974: ; // 0x2096974
|
|
/* 02096974 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02096974 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02096978 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02096978 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0209697C: ; // 0x209697c
|
|
/* 0209697C */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0209697C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02096980 */ /* nop */
|
|
/* 02096984 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02096984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02096988 */ cpu->lr = cpu->r[0];
|
|
/* 0209698C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02096990 */ return;
|
|
}
|
|
|
|
// fn_02096994 @ 0x2096994
|
|
void Gambit_fn_02096994(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02096994: ; // 0x2096994
|
|
/* 02096994 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02096994 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02096998 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02096998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209699C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0209699C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020969A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 020969A4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 020969A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020969A8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020969A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020969A8 */ if (_t5) goto L_020969AC; else goto L_020969B4;
|
|
L_020969AC: ; // 0x20969ac
|
|
/* 020969AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 020969B0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_020969B4: ; // 0x20969b4
|
|
/* 020969B4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 020969B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020969B8 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 020969B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020969BC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 020969BC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 020969C0 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 020969C0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 020969C4 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 020969C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020969C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 020969CC */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 020969CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020969D0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020969D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 020969D0 */ if (_t13) goto L_020969D4; else goto L_020969DC;
|
|
L_020969D4: ; // 0x20969d4
|
|
/* 020969D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 020969D8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_020969DC: ; // 0x20969dc
|
|
/* 020969DC */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 020969DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020969E0 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 020969E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 020969E4 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 020969E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020969E8 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 020969E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 020969EC */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 020969EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020969F0 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 020969F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 020969F4 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 020969F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020969F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 020969FC */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 020969FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02096A00 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096A00 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02096A00 */ if (_t23) goto L_02096A04; else goto L_02096A0C;
|
|
L_02096A04: ; // 0x2096a04
|
|
/* 02096A04 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02096A08 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02096A0C: ; // 0x2096a0c
|
|
/* 02096A0C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02096A0C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02096A10 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02096A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02096A14 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02096A14 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02096A18 */ return;
|
|
}
|
|
|
|
// fn_02096A1C @ 0x2096a1c
|
|
void Gambit_fn_02096A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02096A1C: ; // 0x2096a1c
|
|
/* 02096A1C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02096A20 */ goto L_02097BE8;
|
|
L_02097BE8: ; // 0x2097be8
|
|
/* 02097BE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02097BEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02097BEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097BEC */ cpu->r[1] = _t0;
|
|
/* 02097BF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097BF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02097BF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02097BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097BFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02097C00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097C04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02097C04 */ if (_t5) goto L_02097C74; else goto L_02097C08;
|
|
L_02097C08: ; // 0x2097c08
|
|
/* 02097C08 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C0C */ cpu->r[12] = 0x10010000u;
|
|
/* 02097C10 */ cpu->r[0] = cpu->r[0] + 0xFFFFF380u;
|
|
/* 02097C14 */ cpu->r[12] = cpu->r[12] + 0xFFFFF3A0u;
|
|
/* 02097C18 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02097C1C */ cpu->r[11] = 0x10010000u;
|
|
/* 02097C20 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02097C24 */ cpu->r[11] = cpu->r[11] + 0xFFFFF390u;
|
|
/* 02097C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097C2C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02097C30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02097C30 */ if (_t10) goto L_02097C64; else goto L_02097C34;
|
|
L_02097C34: ; // 0x2097c34
|
|
/* 02097C34 */ cpu->r[10] = 0x10010000u;
|
|
/* 02097C38 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C3C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02097C40 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02097C44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C48 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02097C4C */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C50 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C50 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02097C54 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02097C58 */ cpu->r[4] = 0x00000000u;
|
|
/* 02097C5C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02097C60 */ Gambit_fn_02068798(cpu);
|
|
L_02097C64: ; // 0x2097c64
|
|
/* 02097C64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097C68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02097C68 */ if (_t15) goto L_02097C74; else goto L_02097C6C;
|
|
L_02097C6C: ; // 0x2097c6c
|
|
/* 02097C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C70 */ Gambit_fn_02801BB0(cpu);
|
|
L_02097C74: ; // 0x2097c74
|
|
/* 02097C74 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097C78 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02097C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097C7C */ cpu->lr = cpu->r[0];
|
|
/* 02097C80 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02097C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02097C88 */ return;
|
|
}
|
|
|
|
// fn_02096A24 @ 0x2096a24
|
|
void Gambit_fn_02096A24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02096A24: ; // 0x2096a24
|
|
/* 02096A24 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02096A28 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02096A2C @ 0x2096a2c
|
|
void Gambit_fn_02096A2C(CPUState* cpu) {
|
|
L_02096A2C: ; // 0x2096a2c
|
|
/* 02096A2C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02096A30 */ goto L_02097C8C;
|
|
L_02097C8C: ; // 0x2097c8c
|
|
/* 02097C8C */ return;
|
|
}
|
|
|
|
// fn_02096A34 @ 0x2096a34
|
|
void Gambit_fn_02096A34(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02096A34: ; // 0x2096a34
|
|
/* 02096A34 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02096A38 */ goto L_02097C90;
|
|
L_02097C90: ; // 0x2097c90
|
|
/* 02097C90 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02097C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097C94 */ return;
|
|
}
|
|
|
|
// fn_02096A3C @ 0x2096a3c
|
|
void Gambit_fn_02096A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02096A3C: ; // 0x2096a3c
|
|
/* 02096A3C */ cpu->r[0] = cpu->lr;
|
|
/* 02096A40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096A40 */ cpu->r[1] = _t0;
|
|
/* 02096A44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02096A48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02096A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02096A4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02096A4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02096A50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096A50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02096A50 */ if (_t4) goto L_02096A54; else goto L_02096A64;
|
|
L_02096A54: ; // 0x2096a54
|
|
/* 02096A54 */ cpu->r[3] = 0x0000026Cu;
|
|
/* 02096A58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02096A5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02096A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02096A60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096A60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096A60 */ if (_t6) goto L_02096B24; else goto L_02096A64;
|
|
L_02096A64: ; // 0x2096a64
|
|
/* 02096A64 */ cpu->r[4] = 0x10010000u;
|
|
/* 02096A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096A6C */ cpu->r[5] = 0x00000005u;
|
|
/* 02096A70 */ cpu->r[4] = cpu->r[4] + 0xFFFFF078u;
|
|
/* 02096A74 */ Gambit_fn_020B5C38(cpu);
|
|
/* 02096A78 */ cpu->r[12] = 0x10010000u;
|
|
/* 02096A7C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096A80 */ cpu->r[12] = cpu->r[12] + 0xFFFFF380u;
|
|
/* 02096A84 */ cpu->r[0] = cpu->r[0] + 0xFFFFF390u;
|
|
/* 02096A88 */ cpu->r[9] = 0x10010000u;
|
|
/* 02096A8C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02096A8C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02096A90 */ cpu->r[9] = cpu->r[9] + 0xFFFFF3A0u;
|
|
/* 02096A94 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02096A94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096A98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02096A9C */ _t9 = cpu->r[31] + 0x000001C8u;
|
|
/* 02096A9C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02096AA0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02096AA4 */ _t10 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02096AA4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02096AA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF1B0u;
|
|
/* 02096AAC */ _t11 = cpu->r[31] + 0x00000250u;
|
|
/* 02096AAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02096AB0 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02096AB0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02096AB4 */ cpu->r[10] = cpu->r[31] + 0x00000214u;
|
|
/* 02096AB8 */ _t13 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02096AB8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02096ABC */ _t14 = cpu->r[31] + 0x00000264u;
|
|
/* 02096ABC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02096AC0 */ _t15 = cpu->r[31] + 0x00000268u;
|
|
/* 02096AC0 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02096AC4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02096AC8 */ _t16 = cpu->r[31] + 0x00000260u;
|
|
/* 02096AC8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 02096ACC */ cpu->ctr = cpu->r[11];
|
|
/* 02096AD0 */ _t17 = cpu->r[31] + 0x00000248u;
|
|
/* 02096AD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02096AD4: ; // 0x2096ad4
|
|
/* 02096AD4 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02096AD4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02096AD4 */ cpu->r[10] = _t18;
|
|
/* 02096AD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096AD8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096AD8 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02096AD8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02096AD8 */ if (_t21) goto L_02096AD4; else goto L_02096ADC;
|
|
L_02096ADC: ; // 0x2096adc
|
|
/* 02096ADC */ cpu->r[10] = 0x00000003u;
|
|
/* 02096AE0 */ cpu->r[11] = cpu->r[31] + 0x00000220u;
|
|
/* 02096AE4 */ cpu->ctr = cpu->r[10];
|
|
/* 02096AE8 */ cpu->r[12] = 0x00000000u;
|
|
L_02096AEC: ; // 0x2096aec
|
|
/* 02096AEC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02096AEC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02096AEC */ cpu->r[11] = _t22;
|
|
/* 02096AF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096AF0 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096AF0 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02096AF0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02096AF0 */ if (_t25) goto L_02096AEC; else goto L_02096AF4;
|
|
L_02096AF4: ; // 0x2096af4
|
|
/* 02096AF4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02096AF8 */ cpu->r[9] = cpu->r[31] + 0x0000022Cu;
|
|
/* 02096AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02096B00 */ cpu->r[10] = 0x00000000u;
|
|
L_02096B04: ; // 0x2096b04
|
|
/* 02096B04 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02096B04 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02096B04 */ cpu->r[9] = _t26;
|
|
/* 02096B08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096B08 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096B08 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02096B08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02096B08 */ if (_t29) goto L_02096B04; else goto L_02096B0C;
|
|
L_02096B0C: ; // 0x2096b0c
|
|
/* 02096B0C */ cpu->r[11] = 0x00000003u;
|
|
/* 02096B10 */ cpu->r[12] = cpu->r[31] + 0x00000238u;
|
|
/* 02096B14 */ cpu->ctr = cpu->r[11];
|
|
/* 02096B18 */ cpu->r[0] = 0x00000000u;
|
|
L_02096B1C: ; // 0x2096b1c
|
|
/* 02096B1C */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 02096B1C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02096B1C */ cpu->r[12] = _t30;
|
|
/* 02096B20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096B20 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096B20 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02096B20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02096B20 */ if (_t33) goto L_02096B1C; else goto L_02096B24;
|
|
L_02096B24: ; // 0x2096b24
|
|
/* 02096B24 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02096B28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096B2C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02096B30 */ cpu->lr = cpu->r[0];
|
|
/* 02096B34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096B38 */ return;
|
|
}
|
|
|
|
// fn_02096A40 @ 0x2096a40
|
|
void Gambit_fn_02096A40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02096A40: ; // 0x2096a40
|
|
/* 02096A40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096A40 */ cpu->r[1] = _t0;
|
|
/* 02096A44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02096A48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02096A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02096A4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02096A4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02096A50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096A50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02096A50 */ if (_t4) goto L_02096A54; else goto L_02096A64;
|
|
L_02096A54: ; // 0x2096a54
|
|
/* 02096A54 */ cpu->r[3] = 0x0000026Cu;
|
|
/* 02096A58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02096A5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02096A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02096A60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096A60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096A60 */ if (_t6) goto L_02096B24; else goto L_02096A64;
|
|
L_02096A64: ; // 0x2096a64
|
|
/* 02096A64 */ cpu->r[4] = 0x10010000u;
|
|
/* 02096A68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096A6C */ cpu->r[5] = 0x00000005u;
|
|
/* 02096A70 */ cpu->r[4] = cpu->r[4] + 0xFFFFF078u;
|
|
/* 02096A74 */ Gambit_fn_020B5C38(cpu);
|
|
/* 02096A78 */ cpu->r[12] = 0x10010000u;
|
|
/* 02096A7C */ cpu->r[0] = 0x10010000u;
|
|
/* 02096A80 */ cpu->r[12] = cpu->r[12] + 0xFFFFF380u;
|
|
/* 02096A84 */ cpu->r[0] = cpu->r[0] + 0xFFFFF390u;
|
|
/* 02096A88 */ cpu->r[9] = 0x10010000u;
|
|
/* 02096A8C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02096A8C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02096A90 */ cpu->r[9] = cpu->r[9] + 0xFFFFF3A0u;
|
|
/* 02096A94 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02096A94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02096A98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02096A9C */ _t9 = cpu->r[31] + 0x000001C8u;
|
|
/* 02096A9C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02096AA0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02096AA4 */ _t10 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02096AA4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02096AA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF1B0u;
|
|
/* 02096AAC */ _t11 = cpu->r[31] + 0x00000250u;
|
|
/* 02096AAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02096AB0 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02096AB0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02096AB4 */ cpu->r[10] = cpu->r[31] + 0x00000214u;
|
|
/* 02096AB8 */ _t13 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02096AB8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02096ABC */ _t14 = cpu->r[31] + 0x00000264u;
|
|
/* 02096ABC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02096AC0 */ _t15 = cpu->r[31] + 0x00000268u;
|
|
/* 02096AC0 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02096AC4 */ cpu->r[11] = 0x00000003u;
|
|
/* 02096AC8 */ _t16 = cpu->r[31] + 0x00000260u;
|
|
/* 02096AC8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 02096ACC */ cpu->ctr = cpu->r[11];
|
|
/* 02096AD0 */ _t17 = cpu->r[31] + 0x00000248u;
|
|
/* 02096AD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02096AD4: ; // 0x2096ad4
|
|
/* 02096AD4 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02096AD4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02096AD4 */ cpu->r[10] = _t18;
|
|
/* 02096AD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096AD8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096AD8 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02096AD8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02096AD8 */ if (_t21) goto L_02096AD4; else goto L_02096ADC;
|
|
L_02096ADC: ; // 0x2096adc
|
|
/* 02096ADC */ cpu->r[10] = 0x00000003u;
|
|
/* 02096AE0 */ cpu->r[11] = cpu->r[31] + 0x00000220u;
|
|
/* 02096AE4 */ cpu->ctr = cpu->r[10];
|
|
/* 02096AE8 */ cpu->r[12] = 0x00000000u;
|
|
L_02096AEC: ; // 0x2096aec
|
|
/* 02096AEC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02096AEC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02096AEC */ cpu->r[11] = _t22;
|
|
/* 02096AF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096AF0 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096AF0 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02096AF0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02096AF0 */ if (_t25) goto L_02096AEC; else goto L_02096AF4;
|
|
L_02096AF4: ; // 0x2096af4
|
|
/* 02096AF4 */ cpu->r[0] = 0x00000003u;
|
|
/* 02096AF8 */ cpu->r[9] = cpu->r[31] + 0x0000022Cu;
|
|
/* 02096AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02096B00 */ cpu->r[10] = 0x00000000u;
|
|
L_02096B04: ; // 0x2096b04
|
|
/* 02096B04 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02096B04 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02096B04 */ cpu->r[9] = _t26;
|
|
/* 02096B08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096B08 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096B08 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02096B08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02096B08 */ if (_t29) goto L_02096B04; else goto L_02096B0C;
|
|
L_02096B0C: ; // 0x2096b0c
|
|
/* 02096B0C */ cpu->r[11] = 0x00000003u;
|
|
/* 02096B10 */ cpu->r[12] = cpu->r[31] + 0x00000238u;
|
|
/* 02096B14 */ cpu->ctr = cpu->r[11];
|
|
/* 02096B18 */ cpu->r[0] = 0x00000000u;
|
|
L_02096B1C: ; // 0x2096b1c
|
|
/* 02096B1C */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 02096B1C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02096B1C */ cpu->r[12] = _t30;
|
|
/* 02096B20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02096B20 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02096B20 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02096B20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02096B20 */ if (_t33) goto L_02096B1C; else goto L_02096B24;
|
|
L_02096B24: ; // 0x2096b24
|
|
/* 02096B24 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02096B28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096B2C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02096B30 */ cpu->lr = cpu->r[0];
|
|
/* 02096B34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096B38 */ return;
|
|
}
|
|
|
|
// fn_02096B3C @ 0x2096b3c
|
|
void Gambit_fn_02096B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02096B3C: ; // 0x2096b3c
|
|
/* 02096B3C */ cpu->r[0] = cpu->lr;
|
|
/* 02096B40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096B40 */ cpu->r[1] = _t0;
|
|
/* 02096B44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02096B48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02096B4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02096B50 */ Gambit_fn_020B6458(cpu);
|
|
/* 02096B54 */ _t3 = cpu->r[31] + 0x00000118u;
|
|
/* 02096B54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096B58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02096B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02096B5C */ cpu->r[12] = 0x00000000u;
|
|
/* 02096B60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096B60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02096B60 */ if (_t5) goto L_02096B64; else goto L_02096B68;
|
|
L_02096B64: ; // 0x2096b64
|
|
/* 02096B64 */ _t6 = cpu->r[31] + 0x00000260u;
|
|
/* 02096B64 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
L_02096B68: ; // 0x2096b68
|
|
/* 02096B68 */ _t7 = cpu->r[31] + 0x00000268u;
|
|
/* 02096B68 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02096B6C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02096B70 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02096B74 */ cpu->lr = cpu->r[0];
|
|
/* 02096B78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096B7C */ return;
|
|
}
|
|
|
|
// fn_02096B40 @ 0x2096b40
|
|
void Gambit_fn_02096B40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02096B40: ; // 0x2096b40
|
|
/* 02096B40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096B40 */ cpu->r[1] = _t0;
|
|
/* 02096B44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02096B48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02096B4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02096B50 */ Gambit_fn_020B6458(cpu);
|
|
/* 02096B54 */ _t3 = cpu->r[31] + 0x00000118u;
|
|
/* 02096B54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096B58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02096B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02096B5C */ cpu->r[12] = 0x00000000u;
|
|
/* 02096B60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096B60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02096B60 */ if (_t5) goto L_02096B64; else goto L_02096B68;
|
|
L_02096B64: ; // 0x2096b64
|
|
/* 02096B64 */ _t6 = cpu->r[31] + 0x00000260u;
|
|
/* 02096B64 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
L_02096B68: ; // 0x2096b68
|
|
/* 02096B68 */ _t7 = cpu->r[31] + 0x00000268u;
|
|
/* 02096B68 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02096B6C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02096B70 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02096B74 */ cpu->lr = cpu->r[0];
|
|
/* 02096B78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096B7C */ return;
|
|
}
|
|
|
|
// fn_02096B80 @ 0x2096b80
|
|
void Gambit_fn_02096B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02096B80: ; // 0x2096b80
|
|
/* 02096B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02096B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096B84 */ cpu->r[1] = _t0;
|
|
/* 02096B88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02096B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02096B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02096B90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02096B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096B98 */ _t4 = cpu->r[30] + 0x00000268u;
|
|
/* 02096B98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02096B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02096BA0 */ cpu->r[31] = 0x00000001u;
|
|
/* 02096BA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096BA4 */ if (_t6) goto L_02096BA8; else goto L_02096BC4;
|
|
L_02096BA8: ; // 0x2096ba8
|
|
/* 02096BA8 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02096BA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02096BAC */ _t8 = cpu->r[12] + 0x0000017Cu;
|
|
/* 02096BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02096BB0 */ cpu->ctr = cpu->r[9];
|
|
/* 02096BB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096BB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096BC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02096BC0 */ if (_t10) goto L_02096BC4; else goto L_02096BE4;
|
|
L_02096BC4: ; // 0x2096bc4
|
|
/* 02096BC4 */ _t11 = cpu->r[30] + 0x00000264u;
|
|
/* 02096BC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02096BC8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02096BC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096BCC */ _t13 = cpu->r[8] + 0x0000008Cu;
|
|
/* 02096BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096BD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02096BD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096BDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BDC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02096BDC */ if (_t15) goto L_02096BE0; else goto L_02096BE4;
|
|
L_02096BE0: ; // 0x2096be0
|
|
/* 02096BE0 */ cpu->r[31] = 0x00000000u;
|
|
L_02096BE4: ; // 0x2096be4
|
|
/* 02096BE4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02096BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02096BE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02096BEC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02096BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02096BF4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02096BF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02096BF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096BFC */ return;
|
|
}
|
|
|
|
// fn_02096B84 @ 0x2096b84
|
|
void Gambit_fn_02096B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02096B84: ; // 0x2096b84
|
|
/* 02096B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02096B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096B84 */ cpu->r[1] = _t0;
|
|
/* 02096B88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02096B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02096B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02096B90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02096B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02096B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02096B98 */ _t4 = cpu->r[30] + 0x00000268u;
|
|
/* 02096B98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02096B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02096BA0 */ cpu->r[31] = 0x00000001u;
|
|
/* 02096BA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02096BA4 */ if (_t6) goto L_02096BA8; else goto L_02096BC4;
|
|
L_02096BA8: ; // 0x2096ba8
|
|
/* 02096BA8 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02096BA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02096BAC */ _t8 = cpu->r[12] + 0x0000017Cu;
|
|
/* 02096BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02096BB0 */ cpu->ctr = cpu->r[9];
|
|
/* 02096BB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02096BB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096BC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02096BC0 */ if (_t10) goto L_02096BC4; else goto L_02096BE4;
|
|
L_02096BC4: ; // 0x2096bc4
|
|
/* 02096BC4 */ _t11 = cpu->r[30] + 0x00000264u;
|
|
/* 02096BC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02096BC8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02096BC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02096BCC */ _t13 = cpu->r[8] + 0x0000008Cu;
|
|
/* 02096BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02096BD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02096BD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096BDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096BDC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02096BDC */ if (_t15) goto L_02096BE0; else goto L_02096BE4;
|
|
L_02096BE0: ; // 0x2096be0
|
|
/* 02096BE0 */ cpu->r[31] = 0x00000000u;
|
|
L_02096BE4: ; // 0x2096be4
|
|
/* 02096BE4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02096BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02096BE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02096BEC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02096BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02096BF4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02096BF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02096BF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02096BFC */ return;
|
|
}
|
|
|
|
// fn_02096C00 @ 0x2096c00
|
|
void Gambit_fn_02096C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02096C00: ; // 0x2096c00
|
|
/* 02096C00 */ cpu->r[0] = cpu->lr;
|
|
/* 02096C04 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02096C04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02096C08 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02096C08 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02096C08 */ cpu->r[1] = _t1;
|
|
/* 02096C0C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02096C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02096C10 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02096C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096C14 */ cpu->ctr = cpu->r[0];
|
|
/* 02096C18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096C1C */ Gambit_fn_020DACF0(cpu);
|
|
/* 02096C20 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02096C24 */ cpu->lr = cpu->r[0];
|
|
/* 02096C28 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02096C2C */ return;
|
|
}
|
|
|
|
// fn_02096C08 @ 0x2096c08
|
|
void Gambit_fn_02096C08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02096C08: ; // 0x2096c08
|
|
/* 02096C08 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02096C08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096C08 */ cpu->r[1] = _t0;
|
|
/* 02096C0C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02096C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02096C10 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02096C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02096C14 */ cpu->ctr = cpu->r[0];
|
|
/* 02096C18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096C1C */ Gambit_fn_020DACF0(cpu);
|
|
/* 02096C20 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096C24 */ cpu->lr = cpu->r[0];
|
|
/* 02096C28 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02096C2C */ return;
|
|
}
|
|
|
|
// fn_02096C30 @ 0x2096c30
|
|
void Gambit_fn_02096C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02096C30: ; // 0x2096c30
|
|
/* 02096C30 */ cpu->r[0] = cpu->lr;
|
|
/* 02096C34 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02096C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02096C38 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02096C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02096C38 */ cpu->r[1] = _t1;
|
|
/* 02096C3C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02096C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02096C40 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02096C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096C44 */ cpu->ctr = cpu->r[0];
|
|
/* 02096C48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096C4C */ Gambit_fn_020DACA4(cpu);
|
|
/* 02096C50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02096C54 */ cpu->lr = cpu->r[0];
|
|
/* 02096C58 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02096C5C */ return;
|
|
}
|
|
|
|
// fn_02096C38 @ 0x2096c38
|
|
void Gambit_fn_02096C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02096C38: ; // 0x2096c38
|
|
/* 02096C38 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02096C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096C38 */ cpu->r[1] = _t0;
|
|
/* 02096C3C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02096C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02096C40 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02096C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02096C44 */ cpu->ctr = cpu->r[0];
|
|
/* 02096C48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02096C4C */ Gambit_fn_020DACA4(cpu);
|
|
/* 02096C50 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02096C54 */ cpu->lr = cpu->r[0];
|
|
/* 02096C58 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02096C5C */ return;
|
|
}
|
|
|
|
// fn_02096C60 @ 0x2096c60
|
|
void Gambit_fn_02096C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02096C60: ; // 0x2096c60
|
|
/* 02096C60 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02096C60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02096C60 */ cpu->r[1] = _t0;
|
|
/* 02096C64 */ /* nop */
|
|
/* 02096C68 */ cpu->r[26] = 0x10010000u;
|
|
/* 02096C6C */ cpu->r[30] = 0x10010000u;
|
|
/* 02096C70 */ cpu->r[0] = cpu->lr;
|
|
/* 02096C74 */ cpu->r[30] = cpu->r[30] + 0xFFFFEFD8u;
|
|
/* 02096C78 */ cpu->r[26] = cpu->r[26] + 0xFFFFF0A8u;
|
|
/* 02096C7C */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 02096C7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02096C80 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 02096C80 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02096C84 */ /* nop */
|
|
/* 02096C88 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02096C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[26]);
|
|
/* 02096C8C */ /* nop */
|
|
/* 02096C90 */ _t4 = cpu->r[1] + 0x00000088u;
|
|
/* 02096C90 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02096C94 */ _t5 = cpu->r[1] + 0x00000098u;
|
|
/* 02096C94 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02096C98 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02096C98 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02096C9C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02096CA0 */ _t7 = cpu->r[1] + 0x000000A4u;
|
|
/* 02096CA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02096CA4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02096CA8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096CA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02096CAC */ cpu->r[0] = cpu->r[0] + 0xFFFFF0D4u;
|
|
/* 02096CB0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096CB0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02096CB4 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02096CB8 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02096CB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02096CBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02096CC0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02096CC4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02096CC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
/* 02096CC8 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02096CCC */ cpu->r[27] = 0x10010000u;
|
|
/* 02096CD0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096CD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02096CD4 */ cpu->r[27] = cpu->r[27] + 0xFFFFF0F4u;
|
|
/* 02096CD8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02096CD8 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02096CDC */ cpu->r[6] = 0x10010000u;
|
|
/* 02096CE0 */ cpu->r[28] = 0x10010000u;
|
|
/* 02096CE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096CE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02096CE8 */ cpu->r[6] = cpu->r[6] + 0xFFFFF0B4u;
|
|
/* 02096CEC */ cpu->r[28] = cpu->r[28] + 0xFFFFF0E0u;
|
|
/* 02096CF0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02096CF0 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 02096CF4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02096CF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096CFC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02096CFC */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02096D00 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02096D04 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02096D08 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02096D08 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02096D0C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02096D10 */ cpu->r[8] = 0x10010000u;
|
|
/* 02096D14 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02096D14 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02096D18 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096D18 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02096D1C */ cpu->r[29] = 0x10010000u;
|
|
/* 02096D20 */ cpu->r[8] = cpu->r[8] + 0xFFFFF0C4u;
|
|
/* 02096D24 */ cpu->r[29] = cpu->r[29] + 0xFFFFF100u;
|
|
/* 02096D28 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02096D2C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096D2C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02096D30 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02096D30 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 02096D34 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02096D38 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02096D38 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02096D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096D40 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02096D44 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02096D44 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02096D48 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02096D4C */ cpu->r[10] = 0x10010000u;
|
|
/* 02096D50 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02096D50 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02096D54 */ cpu->r[10] = cpu->r[10] + 0xFFFFF110u;
|
|
/* 02096D58 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096D58 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02096D5C */ cpu->r[8] = 0x10010000u;
|
|
/* 02096D60 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02096D60 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02096D64 */ cpu->r[8] = cpu->r[8] + 0xFFFFF0ACu;
|
|
/* 02096D68 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096D68 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02096D6C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02096D70 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02096D74 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02096D74 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02096D78 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02096D7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096D80 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02096D80 */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
/* 02096D84 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02096D88 */ cpu->r[27] = 0x10010000u;
|
|
/* 02096D8C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02096D8C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02096D90 */ cpu->r[27] = cpu->r[27] + 0xFFFFF0A0u;
|
|
/* 02096D94 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02096D94 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02096D98 */ cpu->r[12] = 0x10010000u;
|
|
/* 02096D9C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02096D9C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02096DA0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF11Cu;
|
|
/* 02096DA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096DA8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02096DA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 02096DAC */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02096DB0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02096DB4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02096DB4 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02096DB8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02096DBC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02096DBC */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02096DC0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02096DC4 */ Gambit_fn_027F6838(cpu);
|
|
/* 02096DC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02096DCC */ cpu->r[9] = 0x10010000u;
|
|
/* 02096DD0 */ _t36 = cpu->r[11] + 0xFFFFF090u;
|
|
/* 02096DD0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02096DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02096DD8 */ _t37 = cpu->r[9] + 0xFFFFF08Cu;
|
|
/* 02096DD8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02096DDC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096DDC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02096DDC */ if (_t39) goto L_02096E0C; else goto L_02096DE0;
|
|
L_02096DE0: ; // 0x2096de0
|
|
/* 02096DE0 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 02096DE0 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02096DE4 */ cpu->f[1] = cpu->f[30];
|
|
/* 02096DE8 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02096DEC */ cpu->r[4] = 0x00000002u;
|
|
/* 02096DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096DF4 */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02096DF4 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 02096DF8 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096DFC */ Gambit_fn_027F69F8(cpu);
|
|
/* 02096E00 */ cpu->r[27] = cpu->r[3];
|
|
/* 02096E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096E04 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096E04 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02096E04 */ if (_t43) goto L_02096E70; else goto L_02096E08;
|
|
L_02096E08: ; // 0x2096e08
|
|
/* 02096E08 */ goto L_02096E34;
|
|
L_02096E0C: ; // 0x2096e0c
|
|
/* 02096E0C */ _t44 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02096E0C */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 02096E10 */ cpu->f[1] = cpu->f[31];
|
|
/* 02096E14 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02096E18 */ cpu->r[4] = 0x00000002u;
|
|
/* 02096E1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02096E20 */ _t45 = cpu->r[1] + 0x00000048u;
|
|
/* 02096E20 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02096E24 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096E28 */ Gambit_fn_027F69F8(cpu);
|
|
/* 02096E2C */ cpu->r[27] = cpu->r[3];
|
|
/* 02096E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096E30 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096E30 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02096E30 */ if (_t47) goto L_02096E70; else goto L_02096E34;
|
|
L_02096E34: ; // 0x2096e34
|
|
/* 02096E34 */ _t48 = cpu->r[1] + 0x00000054u;
|
|
/* 02096E34 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02096E38 */ cpu->f[1] = cpu->f[31];
|
|
/* 02096E3C */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 02096E40 */ cpu->r[4] = 0x00000001u;
|
|
/* 02096E44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096E48 */ _t49 = cpu->r[1] + 0x00000050u;
|
|
/* 02096E48 */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 02096E4C */ Gambit_fn_027ED914(cpu);
|
|
/* 02096E50 */ cpu->r[11] = 0x10010000u;
|
|
/* 02096E54 */ cpu->r[9] = 0x00000000u;
|
|
/* 02096E58 */ _t50 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02096E58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02096E5C */ _t51 = cpu->r[1] + 0x00000030u;
|
|
/* 02096E5C */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02096E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096E64 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02096E64 */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 02096E68 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096E68 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02096E68 */ if (_t54) goto L_02096F38; else goto L_02096E6C;
|
|
L_02096E6C: ; // 0x2096e6c
|
|
/* 02096E6C */ goto L_02096EA8;
|
|
L_02096E70: ; // 0x2096e70
|
|
/* 02096E70 */ _t55 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02096E70 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
/* 02096E74 */ cpu->f[1] = cpu->f[30];
|
|
/* 02096E78 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 02096E7C */ cpu->r[4] = 0x00000001u;
|
|
/* 02096E80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096E84 */ _t56 = cpu->r[1] + 0x00000058u;
|
|
/* 02096E84 */ rbrew_write32(cpu->mem, _t56, cpu->r[26]);
|
|
/* 02096E88 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096E8C */ cpu->r[11] = 0x10010000u;
|
|
/* 02096E90 */ cpu->r[9] = 0x00000000u;
|
|
/* 02096E94 */ _t57 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02096E94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02096E98 */ _t58 = cpu->r[1] + 0x00000030u;
|
|
/* 02096E98 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02096E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02096EA0 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02096EA0 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 02096EA4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02096EA4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02096EA4 */ if (_t61) goto L_02096F38; else goto L_02096EA8;
|
|
L_02096EA8: ; // 0x2096ea8
|
|
/* 02096EA8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02096EAC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02096EB0 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02096EB4 */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02096EB4 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02096EB8 */ Gambit_fn_027F7578(cpu);
|
|
/* 02096EBC */ cpu->r[10] = 0x10010000u;
|
|
/* 02096EC0 */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 02096EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02096EC4 */ _t64 = cpu->r[10] + 0xFFFFF098u;
|
|
/* 02096EC4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02096EC8 */ cpu->r[0] = 0x43300000u;
|
|
/* 02096ECC */ cpu->r[7] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02096ED0 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 02096ED0 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02096ED4 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02096ED4 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
|
|
/* 02096ED8 */ _t67 = cpu->r[1] + 0x00000028u;
|
|
/* 02096ED8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 02096EDC */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02096EE0 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02096EE4 */ cpu->f[1] = cpu->f[31] - cpu->f[10];
|
|
/* 02096EE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02096EEC */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096EEC */ _t69 = _t68 & 0x00000001u;
|
|
/* 02096EEC */ if (_t69) goto L_02096EF0; else goto L_02096F10;
|
|
L_02096EF0: ; // 0x2096ef0
|
|
/* 02096EF0 */ cpu->f[1] = cpu->f[30];
|
|
/* 02096EF4 */ _t70 = cpu->r[1] + 0x00000064u;
|
|
/* 02096EF4 */ rbrew_write32(cpu->mem, _t70, cpu->r[30]);
|
|
/* 02096EF8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02096EFC */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02096F00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096F04 */ _t71 = cpu->r[1] + 0x00000060u;
|
|
/* 02096F04 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 02096F08 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096F0C */ goto L_02097078;
|
|
L_02096F10: ; // 0x2096f10
|
|
/* 02096F10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02096F14 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096F14 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02096F14 */ if (_t73) goto L_02096F18; else goto L_02096F1C;
|
|
L_02096F18: ; // 0x2096f18
|
|
/* 02096F18 */ cpu->f[1] = cpu->f[31];
|
|
L_02096F1C: ; // 0x2096f1c
|
|
/* 02096F1C */ _t74 = cpu->r[1] + 0x00000064u;
|
|
/* 02096F1C */ rbrew_write32(cpu->mem, _t74, cpu->r[30]);
|
|
/* 02096F20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02096F24 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02096F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096F2C */ _t75 = cpu->r[1] + 0x00000060u;
|
|
/* 02096F2C */ rbrew_write32(cpu->mem, _t75, cpu->r[28]);
|
|
/* 02096F30 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096F34 */ goto L_02097078;
|
|
L_02096F38: ; // 0x2096f38
|
|
/* 02096F38 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02096F3C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02096F40 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 02096F40 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 02096F44 */ Gambit_fn_027F7578(cpu);
|
|
/* 02096F48 */ cpu->r[10] = 0x00000001u;
|
|
/* 02096F4C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02096F50 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02096F54 */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 02096F54 */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 02096F58 */ Gambit_fn_027F7578(cpu);
|
|
/* 02096F5C */ cpu->r[9] = 0x10010000u;
|
|
/* 02096F60 */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 02096F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02096F64 */ _t79 = cpu->r[9] + 0xFFFFF098u;
|
|
/* 02096F64 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t79);
|
|
/* 02096F68 */ cpu->r[12] = 0x43300000u;
|
|
/* 02096F6C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02096F70 */ _t80 = cpu->r[1] + 0x00000028u;
|
|
/* 02096F70 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 02096F74 */ _t81 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02096F74 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02096F78 */ _t82 = cpu->r[1] + 0x00000028u;
|
|
/* 02096F78 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 02096F7C */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 02096F80 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02096F84 */ cpu->f[1] = cpu->f[31] - cpu->f[11];
|
|
/* 02096F88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02096F8C */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096F8C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02096F8C */ if (_t84) goto L_02096F90; else goto L_02096FE4;
|
|
L_02096F90: ; // 0x2096f90
|
|
/* 02096F90 */ cpu->f[1] = cpu->f[30];
|
|
/* 02096F94 */ _t85 = cpu->r[1] + 0x00000038u;
|
|
/* 02096F94 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]);
|
|
/* 02096F98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096F9C */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02096FA0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02096FA4 */ _t86 = cpu->r[1] + 0x00000034u;
|
|
/* 02096FA4 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 02096FA8 */ Gambit_fn_027ED914(cpu);
|
|
/* 02096FAC */ cpu->r[6] = 0x10010000u;
|
|
/* 02096FB0 */ _t87 = cpu->r[1] + 0x00000030u;
|
|
/* 02096FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02096FB4 */ _t88 = cpu->r[6] + 0xFFFFF098u;
|
|
/* 02096FB4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02096FB8 */ cpu->r[0] = 0x43300000u;
|
|
/* 02096FBC */ cpu->r[7] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02096FC0 */ _t89 = cpu->r[1] + 0x00000028u;
|
|
/* 02096FC0 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02096FC4 */ _t90 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02096FC4 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
|
|
/* 02096FC8 */ _t91 = cpu->r[1] + 0x00000028u;
|
|
/* 02096FC8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t91);
|
|
/* 02096FCC */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 02096FD0 */ cpu->f[13] = (double)(float)cpu->f[10];
|
|
/* 02096FD4 */ cpu->f[1] = cpu->f[31] - cpu->f[13];
|
|
/* 02096FD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02096FDC */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02096FDC */ _t93 = _t92 & 0x00000001u;
|
|
/* 02096FDC */ if (_t93) goto L_0209703C; else goto L_02096FE0;
|
|
L_02096FE0: ; // 0x2096fe0
|
|
/* 02096FE0 */ goto L_02097054;
|
|
L_02096FE4: ; // 0x2096fe4
|
|
/* 02096FE4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02096FE8 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02096FE8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02096FE8 */ if (_t95) goto L_02096FEC; else goto L_02096FF0;
|
|
L_02096FEC: ; // 0x2096fec
|
|
/* 02096FEC */ cpu->f[1] = cpu->f[31];
|
|
L_02096FF0: ; // 0x2096ff0
|
|
/* 02096FF0 */ _t96 = cpu->r[1] + 0x00000038u;
|
|
/* 02096FF0 */ rbrew_write32(cpu->mem, _t96, cpu->r[30]);
|
|
/* 02096FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02096FF8 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02096FFC */ cpu->r[4] = 0x00000003u;
|
|
/* 02097000 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 02097000 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 02097004 */ Gambit_fn_027ED914(cpu);
|
|
/* 02097008 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209700C */ _t98 = cpu->r[1] + 0x00000030u;
|
|
/* 0209700C */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02097010 */ _t99 = cpu->r[6] + 0xFFFFF098u;
|
|
/* 02097010 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t99);
|
|
/* 02097014 */ cpu->r[0] = 0x43300000u;
|
|
/* 02097018 */ cpu->r[7] = cpu->r[12] ^ 0x80000000u;
|
|
/* 0209701C */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0209701C */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 02097020 */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02097020 */ rbrew_write32(cpu->mem, _t101, cpu->r[7]);
|
|
/* 02097024 */ _t102 = cpu->r[1] + 0x00000028u;
|
|
/* 02097024 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 02097028 */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 0209702C */ cpu->f[13] = (double)(float)cpu->f[10];
|
|
/* 02097030 */ cpu->f[1] = cpu->f[31] - cpu->f[13];
|
|
/* 02097034 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02097038 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097038 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02097038 */ if (_t104) goto L_0209703C; else goto L_02097054;
|
|
L_0209703C: ; // 0x209703c
|
|
/* 0209703C */ cpu->f[1] = cpu->f[30];
|
|
/* 02097040 */ _t105 = cpu->r[1] + 0x00000038u;
|
|
/* 02097040 */ rbrew_write32(cpu->mem, _t105, cpu->r[30]);
|
|
/* 02097044 */ cpu->r[4] = 0x00000004u;
|
|
/* 02097048 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 0209704C */ _t106 = cpu->r[1] + 0x00000034u;
|
|
/* 0209704C */ rbrew_write32(cpu->mem, _t106, cpu->r[29]);
|
|
/* 02097050 */ goto L_02097070;
|
|
L_02097054: ; // 0x2097054
|
|
/* 02097054 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02097058 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02097058 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02097058 */ if (_t108) goto L_0209705C; else goto L_02097060;
|
|
L_0209705C: ; // 0x209705c
|
|
/* 0209705C */ cpu->f[1] = cpu->f[31];
|
|
L_02097060: ; // 0x2097060
|
|
/* 02097060 */ _t109 = cpu->r[1] + 0x00000038u;
|
|
/* 02097060 */ rbrew_write32(cpu->mem, _t109, cpu->r[30]);
|
|
/* 02097064 */ cpu->r[4] = 0x00000004u;
|
|
/* 02097068 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 0209706C */ _t110 = cpu->r[1] + 0x00000034u;
|
|
/* 0209706C */ rbrew_write32(cpu->mem, _t110, cpu->r[29]);
|
|
L_02097070: ; // 0x2097070
|
|
/* 02097070 */ cpu->r[3] = cpu->r[31];
|
|
/* 02097074 */ Gambit_fn_027ED914(cpu);
|
|
L_02097078: ; // 0x2097078
|
|
/* 02097078 */ /* nop */
|
|
/* 0209707C */ _t111 = cpu->r[1] + 0x00000088u;
|
|
/* 0209707C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02097080 */ _t112 = cpu->r[1] + 0x00000098u;
|
|
/* 02097080 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02097084 */ _t113 = cpu->r[1] + 0x00000080u;
|
|
/* 02097084 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t113);
|
|
/* 02097088 */ _t114 = cpu->r[1] + 0x00000090u;
|
|
/* 02097088 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t114);
|
|
/* 0209708C */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209708C */ _t116 = _t115 & 0x00000001u;
|
|
/* 0209708C */ if (_t116) goto L_02097090; // else: addr-0 trap, fall-through
|
|
L_02097090: ; // 0x2097090
|
|
/* 02097090 */ _t117 = cpu->r[1] + 0x000000A4u;
|
|
/* 02097090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02097094 */ cpu->lr = cpu->r[0];
|
|
/* 02097098 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0209709C */ return;
|
|
}
|
|
|
|
// fn_020970A0 @ 0x20970a0
|
|
void Gambit_fn_020970A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_020970A0: ; // 0x20970a0
|
|
/* 020970A0 */ _t0 = cpu->r[1] + 0xFFFFFEE0u;
|
|
/* 020970A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020970A0 */ cpu->r[1] = _t0;
|
|
/* 020970A4 */ /* nop */
|
|
/* 020970A8 */ cpu->r[0] = cpu->lr;
|
|
/* 020970AC */ cpu->r[31] = cpu->r[3];
|
|
/* 020970B0 */ _t1 = cpu->r[1] + 0x00000124u;
|
|
/* 020970B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 020970B4 */ Gambit_fn_027F69F8(cpu);
|
|
/* 020970B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 020970BC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 020970BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020970C0 */ cpu->r[17] = cpu->r[3];
|
|
/* 020970C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 020970C4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020970C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020970C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020970C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020970C8 */ if (_t5) goto L_02097188; else goto L_020970CC;
|
|
L_020970CC: ; // 0x20970cc
|
|
/* 020970CC */ cpu->r[7] = 0x00000002u;
|
|
/* 020970D0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 020970D4 */ cpu->r[4] = cpu->r[1] + 0x00000098u;
|
|
/* 020970D8 */ _t6 = cpu->r[1] + 0x00000098u;
|
|
/* 020970D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 020970DC */ Gambit_fn_027F7578(cpu);
|
|
/* 020970E0 */ cpu->r[11] = 0x10110000u;
|
|
/* 020970E4 */ cpu->r[22] = 0x101D0000u;
|
|
/* 020970E8 */ _t7 = cpu->r[11] + 0x00007399u;
|
|
/* 020970E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 020970EC */ cpu->r[0] = cpu->r[1] + 0x0000004Cu;
|
|
/* 020970F0 */ cpu->r[8] = 0x10010000u;
|
|
/* 020970F4 */ cpu->r[22] = cpu->r[22] + 0xFFFFED9Cu;
|
|
/* 020970F8 */ _t8 = cpu->r[1] + 0x00000097u;
|
|
/* 020970F8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 020970FC */ cpu->r[8] = cpu->r[8] + 0xFFFFF020u;
|
|
/* 02097100 */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 02097100 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02097104 */ cpu->r[19] = 0x101D0000u;
|
|
/* 02097108 */ cpu->r[6] = 0x00000020u;
|
|
/* 0209710C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209710C */ rbrew_write32(cpu->mem, _t10, cpu->r[22]);
|
|
/* 02097110 */ cpu->r[19] = cpu->r[19] + 0xFFFFEDDCu;
|
|
/* 02097114 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02097114 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02097118 */ cpu->r[14] = 0x10010000u;
|
|
/* 0209711C */ _t12 = cpu->r[1] + 0x0000006Bu;
|
|
/* 0209711C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[11]);
|
|
/* 02097120 */ cpu->r[14] = cpu->r[14] + 0xFFFFEFD8u;
|
|
/* 02097124 */ _t13 = cpu->r[1] + 0x00000044u;
|
|
/* 02097124 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02097128 */ cpu->r[28] = 0x00000000u;
|
|
/* 0209712C */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 0209712C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
/* 02097130 */ cpu->r[18] = cpu->r[28];
|
|
/* 02097134 */ cpu->r[7] = cpu->r[1] + 0x00000078u;
|
|
/* 02097138 */ _t15 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02097138 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 0209713C */ cpu->r[20] = cpu->r[18];
|
|
/* 02097140 */ cpu->r[16] = 0x00000003u;
|
|
/* 02097144 */ _t16 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097144 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02097148 */ cpu->r[21] = 0x00000002u;
|
|
/* 0209714C */ cpu->r[27] = 0x10010000u;
|
|
/* 02097150 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097150 */ rbrew_write32(cpu->mem, _t17, cpu->r[19]);
|
|
/* 02097154 */ cpu->r[26] = 0x10010000u;
|
|
/* 02097158 */ cpu->r[24] = cpu->r[31] + 0x00000218u;
|
|
/* 0209715C */ _t18 = cpu->r[1] + 0x00000070u;
|
|
/* 0209715C */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02097160 */ cpu->r[23] = 0x00000001u;
|
|
/* 02097164 */ cpu->r[30] = 0x10010000u;
|
|
/* 02097168 */ _t19 = cpu->r[1] + 0x00000074u;
|
|
/* 02097168 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0209716C */ cpu->r[26] = cpu->r[26] + 0xFFFFF164u;
|
|
/* 02097170 */ cpu->r[25] = cpu->r[31] + 0x00000230u;
|
|
/* 02097174 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02097174 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[11]);
|
|
/* 02097178 */ cpu->r[27] = cpu->r[27] + 0xFFFFF150u;
|
|
/* 0209717C */ cpu->r[30] = cpu->r[30] + 0xFFFFF068u;
|
|
/* 02097180 */ _t21 = cpu->r[1] + 0x00000048u;
|
|
/* 02097180 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02097184 */ goto L_02097254;
|
|
L_02097188: ; // 0x2097188
|
|
/* 02097188 */ cpu->r[9] = 0x00000000u;
|
|
/* 0209718C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02097190 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02097194 */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 02097194 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02097198 */ Gambit_fn_027F7578(cpu);
|
|
/* 0209719C */ cpu->r[12] = 0x00000001u;
|
|
/* 020971A0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 020971A4 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 020971A8 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 020971A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 020971AC */ Gambit_fn_027F7578(cpu);
|
|
/* 020971B0 */ cpu->r[11] = 0x10110000u;
|
|
/* 020971B4 */ cpu->r[8] = 0x10010000u;
|
|
/* 020971B8 */ _t24 = cpu->r[11] + 0x00007399u;
|
|
/* 020971B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 020971BC */ cpu->r[8] = cpu->r[8] + 0xFFFFF020u;
|
|
/* 020971C0 */ cpu->r[22] = 0x101D0000u;
|
|
/* 020971C4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 020971C4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 020971C8 */ cpu->r[22] = cpu->r[22] + 0xFFFFED9Cu;
|
|
/* 020971CC */ _t26 = cpu->r[1] + 0x00000078u;
|
|
/* 020971CC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[11]);
|
|
/* 020971D0 */ cpu->r[0] = cpu->r[1] + 0x0000004Cu;
|
|
/* 020971D4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 020971D4 */ rbrew_write32(cpu->mem, _t27, cpu->r[22]);
|
|
/* 020971D8 */ cpu->r[19] = 0x101D0000u;
|
|
/* 020971DC */ _t28 = cpu->r[1] + 0x00000040u;
|
|
/* 020971DC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 020971E0 */ cpu->r[6] = 0x00000020u;
|
|
/* 020971E4 */ _t29 = cpu->r[1] + 0x00000097u;
|
|
/* 020971E4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 020971E8 */ cpu->r[19] = cpu->r[19] + 0xFFFFEDDCu;
|
|
/* 020971EC */ _t30 = cpu->r[1] + 0x00000048u;
|
|
/* 020971EC */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 020971F0 */ cpu->r[28] = 0x00000000u;
|
|
/* 020971F4 */ _t31 = cpu->r[1] + 0x00000044u;
|
|
/* 020971F4 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 020971F8 */ cpu->r[26] = 0x10010000u;
|
|
/* 020971FC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 020971FC */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02097200 */ cpu->r[7] = cpu->r[1] + 0x00000078u;
|
|
/* 02097204 */ cpu->r[27] = 0x10010000u;
|
|
/* 02097208 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097208 */ rbrew_write32(cpu->mem, _t33, cpu->r[19]);
|
|
/* 0209720C */ cpu->r[27] = cpu->r[27] + 0xFFFFF150u;
|
|
/* 02097210 */ cpu->r[26] = cpu->r[26] + 0xFFFFF164u;
|
|
/* 02097214 */ _t34 = cpu->r[1] + 0x0000006Bu;
|
|
/* 02097214 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 02097218 */ cpu->r[18] = cpu->r[28];
|
|
/* 0209721C */ cpu->r[16] = 0x00000003u;
|
|
/* 02097220 */ _t35 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097220 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 02097224 */ cpu->r[20] = cpu->r[18];
|
|
/* 02097228 */ cpu->r[14] = 0x10010000u;
|
|
/* 0209722C */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209722C */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[11]);
|
|
/* 02097230 */ cpu->r[21] = 0x00000002u;
|
|
/* 02097234 */ cpu->r[14] = cpu->r[14] + 0xFFFFEFD8u;
|
|
/* 02097238 */ _t37 = cpu->r[1] + 0x00000074u;
|
|
/* 02097238 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 0209723C */ cpu->r[23] = 0x00000001u;
|
|
/* 02097240 */ cpu->r[30] = 0x10010000u;
|
|
/* 02097244 */ cpu->r[24] = cpu->r[31] + 0x00000218u;
|
|
/* 02097248 */ cpu->r[25] = cpu->r[31] + 0x00000230u;
|
|
/* 0209724C */ cpu->r[30] = cpu->r[30] + 0xFFFFF068u;
|
|
/* 02097250 */ _t38 = cpu->r[1] + 0x00000070u;
|
|
/* 02097250 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
L_02097254: ; // 0x2097254
|
|
/* 02097254 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097258 */ cpu->r[4] = cpu->r[27];
|
|
/* 0209725C */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02097260 */ _t39 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02097260 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02097260 */ if (_t40) goto L_02097264; // else: addr-0 trap, fall-through
|
|
L_02097264: ; // 0x2097264
|
|
/* 02097264 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02097268 */ cpu->r[5] = cpu->r[28];
|
|
/* 0209726C */ cpu->r[4] = cpu->r[26];
|
|
/* 02097270 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097274 */ _t41 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02097274 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02097274 */ if (_t42) goto L_02097278; // else: addr-0 trap, fall-through
|
|
L_02097278: ; // 0x2097278
|
|
/* 02097278 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209727C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097280 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097280 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02097280 */ if (_t44) goto L_02097284; else goto L_020972A8;
|
|
L_02097284: ; // 0x2097284
|
|
/* 02097284 */ cpu->r[3] = cpu->r[31];
|
|
/* 02097288 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 0209728C */ cpu->r[15] = cpu->r[24] + cpu->r[18];
|
|
/* 02097290 */ Gambit_fn_026D86B0(cpu);
|
|
/* 02097294 */ _t45 = cpu->r[22] + 0x00000000u;
|
|
/* 02097294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02097298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209729C */ cpu->r[29] = cpu->r[3];
|
|
/* 020972A0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020972A0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 020972A0 */ if (_t47) goto L_020972A4; else goto L_020972D0;
|
|
L_020972A4: ; // 0x20972a4
|
|
/* 020972A4 */ goto L_020972C8;
|
|
L_020972A8: ; // 0x20972a8
|
|
/* 020972A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020972AC */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 020972B0 */ cpu->r[15] = cpu->r[24];
|
|
/* 020972B4 */ Gambit_fn_026D86B0(cpu);
|
|
/* 020972B8 */ _t48 = cpu->r[22] + 0x00000000u;
|
|
/* 020972B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 020972BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 020972C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 020972C4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020972C4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 020972C4 */ if (_t50) goto L_020972C8; else goto L_020972D0;
|
|
L_020972C8: ; // 0x20972c8
|
|
/* 020972C8 */ _t51 = cpu->r[19] + 0x00000000u;
|
|
/* 020972C8 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 020972CC */ _t52 = cpu->r[22] + 0x00000000u;
|
|
/* 020972CC */ rbrew_write32(cpu->mem, _t52, cpu->r[23]);
|
|
L_020972D0: ; // 0x20972d0
|
|
/* 020972D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 020972D4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020972D4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 020972D4 */ if (_t54) goto L_02097308; else goto L_020972D8;
|
|
L_020972D8: ; // 0x20972d8
|
|
/* 020972D8 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 020972D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 020972DC */ _t56 = cpu->r[9] + 0x0000001Cu;
|
|
/* 020972DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 020972E0 */ cpu->ctr = cpu->r[0];
|
|
/* 020972E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 020972E8 */ cpu->r[4] = cpu->r[19];
|
|
/* 020972EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020972F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020972F4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020972F4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 020972F4 */ if (_t58) goto L_02097308; else goto L_020972F8;
|
|
L_020972F8: ; // 0x20972f8
|
|
/* 020972F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020972FC */ _t59 = cpu->r[15] + 0x00000000u;
|
|
/* 020972FC */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 02097300 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097300 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02097300 */ if (_t61) goto L_02097318; else goto L_02097304;
|
|
L_02097304: ; // 0x2097304
|
|
/* 02097304 */ goto L_0209733C;
|
|
L_02097308: ; // 0x2097308
|
|
/* 02097308 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209730C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097310 */ _t62 = cpu->r[15] + 0x00000000u;
|
|
/* 02097310 */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 02097314 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097314 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02097314 */ if (_t64) goto L_02097318; else goto L_0209733C;
|
|
L_02097318: ; // 0x2097318
|
|
/* 02097318 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209731C */ cpu->r[3] = 0x00000000u;
|
|
/* 02097320 */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097324 */ Gambit_fn_020A7150(cpu);
|
|
/* 02097328 */ _t65 = cpu->r[25] + cpu->r[18];
|
|
/* 02097328 */ rbrew_write32(cpu->mem, _t65, cpu->r[3]);
|
|
/* 0209732C */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 0209732C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02097330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02097334 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097334 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02097334 */ if (_t68) goto L_02097338; else goto L_02097448;
|
|
L_02097338: ; // 0x2097338
|
|
/* 02097338 */ goto L_0209735C;
|
|
L_0209733C: ; // 0x209733c
|
|
/* 0209733C */ cpu->r[4] = cpu->r[31];
|
|
/* 02097340 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097344 */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097348 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209734C */ _t69 = cpu->r[25] + 0x00000000u;
|
|
/* 0209734C */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 02097350 */ _t70 = cpu->r[1] + 0x00000028u;
|
|
/* 02097350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02097354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02097358 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097358 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02097358 */ if (_t72) goto L_0209735C; else goto L_02097448;
|
|
L_0209735C: ; // 0x209735c
|
|
/* 0209735C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02097360 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097360 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02097360 */ if (_t74) goto L_020973DC; else goto L_02097364;
|
|
L_02097364: ; // 0x2097364
|
|
/* 02097364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097368 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097368 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02097368 */ if (_t76) goto L_0209736C; else goto L_020973A4;
|
|
L_0209736C: ; // 0x209736c
|
|
/* 0209736C */ _t77 = cpu->r[1] + 0x00000018u;
|
|
/* 0209736C */ rbrew_write32(cpu->mem, _t77, cpu->r[21]);
|
|
/* 02097370 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097374 */ _t78 = cpu->r[24] + cpu->r[18];
|
|
/* 02097374 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02097378 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209737C */ cpu->r[6] = 0x00000000u;
|
|
/* 02097380 */ Gambit_fn_020CF8DC(cpu);
|
|
/* 02097384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097388 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097388 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02097388 */ if (_t80) goto L_020973C4; else goto L_0209738C;
|
|
L_0209738C: ; // 0x209738c
|
|
/* 0209738C */ _t81 = cpu->r[1] + 0x00000018u;
|
|
/* 0209738C */ rbrew_write32(cpu->mem, _t81, cpu->r[21]);
|
|
/* 02097390 */ _t82 = cpu->r[25] + 0x00000000u;
|
|
/* 02097390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02097394 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097398 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209739C */ Gambit_fn_020A900C(cpu);
|
|
/* 020973A0 */ goto L_02097448;
|
|
L_020973A4: ; // 0x20973a4
|
|
/* 020973A4 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 020973A4 */ rbrew_write32(cpu->mem, _t83, cpu->r[21]);
|
|
/* 020973A8 */ cpu->r[5] = cpu->r[28];
|
|
/* 020973AC */ _t84 = cpu->r[24] + 0x00000000u;
|
|
/* 020973AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 020973B0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 020973B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020973B8 */ Gambit_fn_020CF8DC(cpu);
|
|
/* 020973BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020973C0 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020973C0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 020973C0 */ if (_t86) goto L_020973C4; else goto L_0209738C;
|
|
L_020973C4: ; // 0x20973c4
|
|
/* 020973C4 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 020973C4 */ rbrew_write32(cpu->mem, _t87, cpu->r[21]);
|
|
/* 020973C8 */ _t88 = cpu->r[25] + cpu->r[18];
|
|
/* 020973C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 020973CC */ cpu->r[5] = cpu->r[28];
|
|
/* 020973D0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 020973D4 */ Gambit_fn_020A900C(cpu);
|
|
/* 020973D8 */ goto L_02097448;
|
|
L_020973DC: ; // 0x20973dc
|
|
/* 020973DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020973E0 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020973E0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 020973E0 */ if (_t90) goto L_020973E4; else goto L_02097414;
|
|
L_020973E4: ; // 0x20973e4
|
|
/* 020973E4 */ _t91 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020973E4 */ rbrew_write32(cpu->mem, _t91, cpu->r[20]);
|
|
/* 020973E8 */ cpu->r[5] = cpu->r[28];
|
|
/* 020973EC */ _t92 = cpu->r[24] + cpu->r[18];
|
|
/* 020973EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 020973F0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020973F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020973F8 */ Gambit_fn_020CF8DC(cpu);
|
|
/* 020973FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097400 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097400 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02097400 */ if (_t94) goto L_02097434; else goto L_02097404;
|
|
L_02097404: ; // 0x2097404
|
|
/* 02097404 */ _t95 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097404 */ rbrew_write32(cpu->mem, _t95, cpu->r[20]);
|
|
/* 02097408 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209740C */ _t96 = cpu->r[25] + 0x00000000u;
|
|
/* 0209740C */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02097410 */ goto L_02097440;
|
|
L_02097414: ; // 0x2097414
|
|
/* 02097414 */ _t97 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097414 */ rbrew_write32(cpu->mem, _t97, cpu->r[20]);
|
|
/* 02097418 */ cpu->r[5] = cpu->r[28];
|
|
/* 0209741C */ _t98 = cpu->r[24] + 0x00000000u;
|
|
/* 0209741C */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02097420 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097424 */ cpu->r[6] = 0x00000000u;
|
|
/* 02097428 */ Gambit_fn_020CF8DC(cpu);
|
|
/* 0209742C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097430 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097430 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02097430 */ if (_t100) goto L_02097434; else goto L_02097404;
|
|
L_02097434: ; // 0x2097434
|
|
/* 02097434 */ _t101 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097434 */ rbrew_write32(cpu->mem, _t101, cpu->r[20]);
|
|
/* 02097438 */ _t102 = cpu->r[25] + cpu->r[18];
|
|
/* 02097438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209743C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
L_02097440: ; // 0x2097440
|
|
/* 02097440 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097444 */ Gambit_fn_020A900C(cpu);
|
|
L_02097448: ; // 0x2097448
|
|
/* 02097448 */ cpu->r[16] = cpu->r[16] + 0xFFFFFFFFu;
|
|
/* 02097448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 0209744C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02097450 */ cpu->r[18] = cpu->r[18] + 0x00000004u;
|
|
/* 02097454 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097454 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02097454 */ if (_t104) goto L_02097458; else goto L_02097254;
|
|
L_02097458: ; // 0x2097458
|
|
/* 02097458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0209745C */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209745C */ _t106 = _t105 & 0x00000001u;
|
|
/* 0209745C */ if (_t106) goto L_02097460; else goto L_0209760C;
|
|
L_02097460: ; // 0x2097460
|
|
/* 02097460 */ cpu->r[28] = 0x00000000u;
|
|
/* 02097464 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097464 */ cpu->r[21] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02097468 */ cpu->r[22] = 0x00000001u;
|
|
/* 0209746C */ cpu->r[20] = cpu->r[28];
|
|
/* 02097470 */ _t108 = cpu->r[1] + 0x00000014u;
|
|
/* 02097470 */ cpu->r[23] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02097474 */ cpu->r[19] = 0x00000003u;
|
|
/* 02097478 */ cpu->r[25] = cpu->r[31] + 0x0000023Cu;
|
|
/* 0209747C */ cpu->r[24] = cpu->r[31] + 0x00000224u;
|
|
L_02097480: ; // 0x2097480
|
|
/* 02097480 */ cpu->r[5] = cpu->r[28] + 0x00000003u;
|
|
/* 02097484 */ cpu->r[4] = cpu->r[27];
|
|
/* 02097488 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 0209748C */ _t109 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209748C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0209748C */ if (_t110) goto L_02097490; // else: addr-0 trap, fall-through
|
|
L_02097490: ; // 0x2097490
|
|
/* 02097490 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02097494 */ cpu->r[5] = cpu->r[28] + 0x00000003u;
|
|
/* 02097498 */ cpu->r[4] = cpu->r[26];
|
|
/* 0209749C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 020974A0 */ _t111 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020974A0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 020974A0 */ if (_t112) goto L_020974A4; // else: addr-0 trap, fall-through
|
|
L_020974A4: ; // 0x20974a4
|
|
/* 020974A4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 020974A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020974AC */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020974AC */ _t114 = _t113 & 0x00000001u;
|
|
/* 020974AC */ if (_t114) goto L_020974B0; else goto L_020974D4;
|
|
L_020974B0: ; // 0x20974b0
|
|
/* 020974B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020974B4 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 020974B8 */ cpu->r[18] = cpu->r[24] + cpu->r[20];
|
|
/* 020974BC */ Gambit_fn_026D86B0(cpu);
|
|
/* 020974C0 */ _t115 = cpu->r[23] + 0x00000000u;
|
|
/* 020974C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115);
|
|
/* 020974C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 020974C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 020974CC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020974CC */ _t117 = _t116 & 0x00000001u;
|
|
/* 020974CC */ if (_t117) goto L_020974D0; else goto L_020974FC;
|
|
L_020974D0: ; // 0x20974d0
|
|
/* 020974D0 */ goto L_020974F4;
|
|
L_020974D4: ; // 0x20974d4
|
|
/* 020974D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020974D8 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 020974DC */ cpu->r[18] = cpu->r[24];
|
|
/* 020974E0 */ Gambit_fn_026D86B0(cpu);
|
|
/* 020974E4 */ _t118 = cpu->r[23] + 0x00000000u;
|
|
/* 020974E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t118);
|
|
/* 020974E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 020974EC */ cpu->r[29] = cpu->r[3];
|
|
/* 020974F0 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020974F0 */ _t120 = _t119 & 0x00000001u;
|
|
/* 020974F0 */ if (_t120) goto L_020974F4; else goto L_020974FC;
|
|
L_020974F4: ; // 0x20974f4
|
|
/* 020974F4 */ _t121 = cpu->r[21] + 0x00000000u;
|
|
/* 020974F4 */ rbrew_write32(cpu->mem, _t121, cpu->r[30]);
|
|
/* 020974F8 */ _t122 = cpu->r[23] + 0x00000000u;
|
|
/* 020974F8 */ rbrew_write32(cpu->mem, _t122, cpu->r[22]);
|
|
L_020974FC: ; // 0x20974fc
|
|
/* 020974FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02097500 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097500 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02097500 */ if (_t124) goto L_02097534; else goto L_02097504;
|
|
L_02097504: ; // 0x2097504
|
|
/* 02097504 */ _t125 = cpu->r[29] + 0x00000000u;
|
|
/* 02097504 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02097508 */ _t126 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02097508 */ cpu->r[8] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0209750C */ cpu->ctr = cpu->r[8];
|
|
/* 02097510 */ cpu->r[3] = cpu->r[29];
|
|
/* 02097514 */ cpu->r[4] = cpu->r[21];
|
|
/* 02097518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209751C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097520 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097520 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02097520 */ if (_t128) goto L_02097534; else goto L_02097524;
|
|
L_02097524: ; // 0x2097524
|
|
/* 02097524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02097528 */ _t129 = cpu->r[18] + 0x00000000u;
|
|
/* 02097528 */ rbrew_write32(cpu->mem, _t129, cpu->r[29]);
|
|
/* 0209752C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209752C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0209752C */ if (_t131) goto L_02097544; else goto L_02097530;
|
|
L_02097530: ; // 0x2097530
|
|
/* 02097530 */ goto L_02097568;
|
|
L_02097534: ; // 0x2097534
|
|
/* 02097534 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 0209753C */ _t132 = cpu->r[18] + 0x00000000u;
|
|
/* 0209753C */ rbrew_write32(cpu->mem, _t132, cpu->r[0]);
|
|
/* 02097540 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097540 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02097540 */ if (_t134) goto L_02097544; else goto L_02097568;
|
|
L_02097544: ; // 0x2097544
|
|
/* 02097544 */ cpu->r[4] = cpu->r[31];
|
|
/* 02097548 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209754C */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097550 */ Gambit_fn_020A7150(cpu);
|
|
/* 02097554 */ _t135 = cpu->r[25] + cpu->r[20];
|
|
/* 02097554 */ rbrew_write32(cpu->mem, _t135, cpu->r[3]);
|
|
/* 02097558 */ _t136 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02097558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0209755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02097560 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097560 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02097560 */ if (_t138) goto L_02097564; else goto L_020975FC;
|
|
L_02097564: ; // 0x2097564
|
|
/* 02097564 */ goto L_02097588;
|
|
L_02097568: ; // 0x2097568
|
|
/* 02097568 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209756C */ cpu->r[3] = 0x00000000u;
|
|
/* 02097570 */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02097574 */ Gambit_fn_020A7150(cpu);
|
|
/* 02097578 */ _t139 = cpu->r[25] + 0x00000000u;
|
|
/* 02097578 */ rbrew_write32(cpu->mem, _t139, cpu->r[3]);
|
|
/* 0209757C */ _t140 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209757C */ cpu->r[9] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02097580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02097584 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097584 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02097584 */ if (_t142) goto L_02097588; else goto L_020975FC;
|
|
L_02097588: ; // 0x2097588
|
|
/* 02097588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 0209758C */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209758C */ _t144 = _t143 & 0x00000001u;
|
|
/* 0209758C */ if (_t144) goto L_02097590; else goto L_020975C8;
|
|
L_02097590: ; // 0x2097590
|
|
/* 02097590 */ _t145 = cpu->r[1] + 0x00000020u;
|
|
/* 02097590 */ rbrew_write32(cpu->mem, _t145, cpu->r[22]);
|
|
/* 02097594 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097598 */ _t146 = cpu->r[24] + cpu->r[20];
|
|
/* 02097598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0209759C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 020975A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 020975A4 */ Gambit_fn_020CF8DC(cpu);
|
|
/* 020975A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020975AC */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020975AC */ _t148 = _t147 & 0x00000001u;
|
|
/* 020975AC */ if (_t148) goto L_020975E8; else goto L_020975B0;
|
|
L_020975B0: ; // 0x20975b0
|
|
/* 020975B0 */ _t149 = cpu->r[1] + 0x00000020u;
|
|
/* 020975B0 */ rbrew_write32(cpu->mem, _t149, cpu->r[22]);
|
|
/* 020975B4 */ _t150 = cpu->r[25] + 0x00000000u;
|
|
/* 020975B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t150);
|
|
/* 020975B8 */ cpu->r[5] = cpu->r[28];
|
|
/* 020975BC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 020975C0 */ Gambit_fn_020A900C(cpu);
|
|
/* 020975C4 */ goto L_020975FC;
|
|
L_020975C8: ; // 0x20975c8
|
|
/* 020975C8 */ _t151 = cpu->r[1] + 0x00000020u;
|
|
/* 020975C8 */ rbrew_write32(cpu->mem, _t151, cpu->r[22]);
|
|
/* 020975CC */ cpu->r[5] = cpu->r[28];
|
|
/* 020975D0 */ _t152 = cpu->r[24] + 0x00000000u;
|
|
/* 020975D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t152);
|
|
/* 020975D4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 020975D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 020975DC */ Gambit_fn_020CF8DC(cpu);
|
|
/* 020975E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 020975E4 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020975E4 */ _t154 = _t153 & 0x00000001u;
|
|
/* 020975E4 */ if (_t154) goto L_020975E8; else goto L_020975B0;
|
|
L_020975E8: ; // 0x20975e8
|
|
/* 020975E8 */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 020975E8 */ rbrew_write32(cpu->mem, _t155, cpu->r[22]);
|
|
/* 020975EC */ _t156 = cpu->r[25] + cpu->r[20];
|
|
/* 020975EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t156);
|
|
/* 020975F0 */ cpu->r[5] = cpu->r[28];
|
|
/* 020975F4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 020975F8 */ Gambit_fn_020A900C(cpu);
|
|
L_020975FC: ; // 0x20975fc
|
|
/* 020975FC */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 020975FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02097600 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02097604 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02097608 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097608 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02097608 */ if (_t158) goto L_0209760C; else goto L_02097480;
|
|
L_0209760C: ; // 0x209760c
|
|
/* 0209760C */ cpu->r[10] = 0x10010000u;
|
|
/* 02097610 */ _t159 = cpu->r[1] + 0x00000034u;
|
|
/* 02097610 */ rbrew_write32(cpu->mem, _t159, cpu->r[14]);
|
|
/* 02097614 */ cpu->r[4] = cpu->r[31];
|
|
/* 02097618 */ cpu->r[10] = cpu->r[10] + 0xFFFFF138u;
|
|
/* 0209761C */ cpu->r[3] = 0x00000000u;
|
|
/* 02097620 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02097624 */ _t160 = cpu->r[1] + 0x00000030u;
|
|
/* 02097624 */ rbrew_write32(cpu->mem, _t160, cpu->r[10]);
|
|
/* 02097628 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209762C */ cpu->r[11] = 0x10010000u;
|
|
/* 02097630 */ _t161 = cpu->r[1] + 0x00000034u;
|
|
/* 02097630 */ rbrew_write32(cpu->mem, _t161, cpu->r[14]);
|
|
/* 02097634 */ cpu->r[4] = cpu->r[31];
|
|
/* 02097638 */ cpu->r[11] = cpu->r[11] + 0xFFFFF144u;
|
|
/* 0209763C */ _t162 = cpu->r[31] + 0x00000248u;
|
|
/* 0209763C */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 02097640 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097644 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02097648 */ _t163 = cpu->r[1] + 0x00000030u;
|
|
/* 02097648 */ rbrew_write32(cpu->mem, _t163, cpu->r[11]);
|
|
/* 0209764C */ Gambit_fn_020A7150(cpu);
|
|
/* 02097650 */ cpu->r[12] = 0x10010000u;
|
|
/* 02097654 */ _t164 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02097654 */ rbrew_write32(cpu->mem, _t164, cpu->r[3]);
|
|
/* 02097658 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209765C */ cpu->r[12] = cpu->r[12] + 0xFFFFF174u;
|
|
/* 02097660 */ _t165 = cpu->r[1] + 0x00000034u;
|
|
/* 02097660 */ rbrew_write32(cpu->mem, _t165, cpu->r[14]);
|
|
/* 02097664 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02097668 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209766C */ _t166 = cpu->r[1] + 0x00000030u;
|
|
/* 0209766C */ rbrew_write32(cpu->mem, _t166, cpu->r[12]);
|
|
/* 02097670 */ Gambit_fn_020A7150(cpu);
|
|
/* 02097674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02097678 */ _t167 = cpu->r[31] + 0x00000250u;
|
|
/* 02097678 */ rbrew_write32(cpu->mem, _t167, cpu->r[3]);
|
|
/* 0209767C */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209767C */ _t169 = _t168 & 0x00000001u;
|
|
/* 0209767C */ if (_t169) goto L_02097680; else goto L_020976E4;
|
|
L_02097680: ; // 0x2097680
|
|
/* 02097680 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097684 */ _t170 = cpu->r[31] + 0x00000248u;
|
|
/* 02097684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02097688 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209768C */ _t171 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209768C */ rbrew_write32(cpu->mem, _t171, cpu->r[0]);
|
|
/* 02097690 */ Gambit_fn_020A8F9C(cpu);
|
|
/* 02097694 */ cpu->r[6] = 0x00000001u;
|
|
/* 02097698 */ _t172 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02097698 */ cpu->r[3] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0209769C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 020976A0 */ _t173 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020976A0 */ rbrew_write32(cpu->mem, _t173, cpu->r[6]);
|
|
/* 020976A4 */ Gambit_fn_020A8F9C(cpu);
|
|
/* 020976A8 */ cpu->r[9] = 0x10010000u;
|
|
/* 020976AC */ _t174 = cpu->r[1] + 0x00000034u;
|
|
/* 020976AC */ rbrew_write32(cpu->mem, _t174, cpu->r[14]);
|
|
/* 020976B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020976B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFF12Cu;
|
|
/* 020976B8 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 020976BC */ _t175 = cpu->r[1] + 0x00000030u;
|
|
/* 020976BC */ rbrew_write32(cpu->mem, _t175, cpu->r[9]);
|
|
/* 020976C0 */ Gambit_fn_026D86C0(cpu);
|
|
/* 020976C4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 020976C8 */ _t176 = cpu->r[9] + 0xFFFFEDBCu;
|
|
/* 020976C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t176);
|
|
/* 020976C8 */ cpu->r[9] = _t176;
|
|
/* 020976CC */ cpu->r[30] = cpu->r[3];
|
|
/* 020976D0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 020976D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020976D8 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 020976DC */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020976DC */ _t178 = _t177 & 0x00000001u;
|
|
/* 020976DC */ if (_t178) goto L_020976E0; else goto L_02097848;
|
|
L_020976E0: ; // 0x20976e0
|
|
/* 020976E0 */ goto L_02097834;
|
|
L_020976E4: ; // 0x20976e4
|
|
/* 020976E4 */ cpu->r[25] = 0x00000002u;
|
|
/* 020976E8 */ _t179 = cpu->r[31] + 0x00000248u;
|
|
/* 020976E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t179);
|
|
/* 020976EC */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 020976F0 */ _t180 = cpu->r[1] + 0x0000009Cu;
|
|
/* 020976F0 */ rbrew_write32(cpu->mem, _t180, cpu->r[25]);
|
|
/* 020976F4 */ Gambit_fn_020A8F9C(cpu);
|
|
/* 020976F8 */ cpu->r[7] = cpu->r[1] + 0x000000ACu;
|
|
/* 020976FC */ _t181 = cpu->r[1] + 0x00000010u;
|
|
/* 020976FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t181);
|
|
/* 02097700 */ _t182 = cpu->r[1] + 0x000000A0u;
|
|
/* 02097700 */ rbrew_write32(cpu->mem, _t182, cpu->r[7]);
|
|
/* 02097704 */ cpu->r[28] = 0x00000000u;
|
|
/* 02097708 */ _t183 = cpu->r[1] + 0x000000CBu;
|
|
/* 02097708 */ rbrew_write8(cpu->mem, _t183, (uint8_t)cpu->r[0]);
|
|
/* 0209770C */ cpu->r[0] = 0x00000020u;
|
|
/* 02097710 */ _t184 = cpu->r[1] + 0x00000010u;
|
|
/* 02097710 */ cpu->r[7] = rbrew_read8(cpu->mem, _t184);
|
|
/* 02097714 */ cpu->r[26] = cpu->r[28];
|
|
/* 02097718 */ _t185 = cpu->r[1] + 0x000000A8u;
|
|
/* 02097718 */ rbrew_write32(cpu->mem, _t185, cpu->r[0]);
|
|
/* 0209771C */ _t186 = cpu->r[1] + 0x00000008u;
|
|
/* 0209771C */ cpu->r[6] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02097720 */ _t187 = cpu->r[1] + 0x000000ACu;
|
|
/* 02097720 */ rbrew_write8(cpu->mem, _t187, (uint8_t)cpu->r[7]);
|
|
/* 02097724 */ cpu->r[27] = cpu->r[31] + 0x00000254u;
|
|
/* 02097728 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209772C */ _t188 = cpu->r[1] + 0x000000A4u;
|
|
/* 0209772C */ rbrew_write32(cpu->mem, _t188, cpu->r[6]);
|
|
L_02097730: ; // 0x2097730
|
|
/* 02097730 */ cpu->r[5] = cpu->r[28];
|
|
/* 02097734 */ cpu->r[4] = cpu->r[30] + 0xFFFFF180u;
|
|
/* 02097738 */ cpu->r[3] = cpu->r[1] + 0x000000A0u;
|
|
/* 0209773C */ _t189 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209773C */ _t190 = _t189 & 0x00000001u;
|
|
/* 0209773C */ if (_t190) goto L_02097740; // else: addr-0 trap, fall-through
|
|
L_02097740: ; // 0x2097740
|
|
/* 02097740 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02097744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02097748 */ _t191 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097748 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02097748 */ if (_t192) goto L_0209774C; else goto L_0209776C;
|
|
L_0209774C: ; // 0x209774c
|
|
/* 0209774C */ cpu->r[4] = cpu->r[31];
|
|
/* 02097750 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097754 */ cpu->r[5] = cpu->r[1] + 0x000000A0u;
|
|
/* 02097758 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209775C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02097760 */ _t193 = cpu->r[27] + cpu->r[26];
|
|
/* 02097760 */ rbrew_write32(cpu->mem, _t193, cpu->r[3]);
|
|
/* 02097764 */ _t194 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097764 */ _t195 = _t194 & 0x00000001u;
|
|
/* 02097764 */ if (_t195) goto L_02097788; else goto L_02097768;
|
|
L_02097768: ; // 0x2097768
|
|
/* 02097768 */ goto L_020977B0;
|
|
L_0209776C: ; // 0x209776c
|
|
/* 0209776C */ cpu->r[4] = cpu->r[31];
|
|
/* 02097770 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097774 */ cpu->r[5] = cpu->r[1] + 0x000000A0u;
|
|
/* 02097778 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209777C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000002u);
|
|
/* 02097780 */ _t196 = cpu->r[27] + 0x00000000u;
|
|
/* 02097780 */ rbrew_write32(cpu->mem, _t196, cpu->r[3]);
|
|
/* 02097784 */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097784 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02097784 */ if (_t198) goto L_02097788; else goto L_020977B0;
|
|
L_02097788: ; // 0x2097788
|
|
/* 02097788 */ _t199 = cpu->r[1] + 0x00000024u;
|
|
/* 02097788 */ rbrew_write32(cpu->mem, _t199, cpu->r[28]);
|
|
/* 0209778C */ _t200 = cpu->r[27] + cpu->r[26];
|
|
/* 0209778C */ cpu->r[3] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02097790 */ cpu->r[5] = 0x00000000u;
|
|
/* 02097794 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02097798 */ Gambit_fn_020A9AE4(cpu);
|
|
/* 0209779C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 0209779C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 020977A0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020977A4 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 020977A8 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020977A8 */ _t202 = _t201 & 0x00000001u;
|
|
/* 020977A8 */ if (_t202) goto L_020977AC; else goto L_02097730;
|
|
L_020977AC: ; // 0x20977ac
|
|
/* 020977AC */ goto L_020977D4;
|
|
L_020977B0: ; // 0x20977b0
|
|
/* 020977B0 */ _t203 = cpu->r[1] + 0x00000024u;
|
|
/* 020977B0 */ rbrew_write32(cpu->mem, _t203, cpu->r[28]);
|
|
/* 020977B4 */ _t204 = cpu->r[27] + 0x00000000u;
|
|
/* 020977B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t204);
|
|
/* 020977B8 */ cpu->r[5] = 0x00000000u;
|
|
/* 020977BC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 020977C0 */ Gambit_fn_020A9AE4(cpu);
|
|
/* 020977C4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 020977C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 020977C8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020977CC */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 020977D0 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020977D0 */ _t206 = _t205 & 0x00000001u;
|
|
/* 020977D0 */ if (_t206) goto L_020977D4; else goto L_02097730;
|
|
L_020977D4: ; // 0x20977d4
|
|
/* 020977D4 */ cpu->r[8] = 0x10010000u;
|
|
/* 020977D8 */ _t207 = cpu->r[1] + 0x000000D0u;
|
|
/* 020977D8 */ rbrew_write32(cpu->mem, _t207, cpu->r[14]);
|
|
/* 020977DC */ cpu->r[4] = cpu->r[31];
|
|
/* 020977E0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF18Cu;
|
|
/* 020977E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 020977E8 */ cpu->r[5] = cpu->r[1] + 0x000000CCu;
|
|
/* 020977EC */ _t208 = cpu->r[1] + 0x000000CCu;
|
|
/* 020977EC */ rbrew_write32(cpu->mem, _t208, cpu->r[8]);
|
|
/* 020977F0 */ Gambit_fn_020A7150(cpu);
|
|
/* 020977F4 */ _t209 = cpu->r[31] + 0x0000025Cu;
|
|
/* 020977F4 */ rbrew_write32(cpu->mem, _t209, cpu->r[3]);
|
|
/* 020977F8 */ Gambit_fn_020A7E60(cpu);
|
|
/* 020977FC */ cpu->r[9] = 0x10010000u;
|
|
/* 02097800 */ cpu->r[3] = cpu->r[31];
|
|
/* 02097804 */ _t210 = cpu->r[1] + 0x00000034u;
|
|
/* 02097804 */ rbrew_write32(cpu->mem, _t210, cpu->r[14]);
|
|
/* 02097808 */ cpu->r[9] = cpu->r[9] + 0xFFFFF12Cu;
|
|
/* 0209780C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02097810 */ _t211 = cpu->r[1] + 0x00000030u;
|
|
/* 02097810 */ rbrew_write32(cpu->mem, _t211, cpu->r[9]);
|
|
/* 02097814 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02097818 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209781C */ _t212 = cpu->r[9] + 0xFFFFEDBCu;
|
|
/* 0209781C */ cpu->r[0] = rbrew_read32(cpu->mem, _t212);
|
|
/* 0209781C */ cpu->r[9] = _t212;
|
|
/* 02097820 */ cpu->r[30] = cpu->r[3];
|
|
/* 02097824 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02097828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209782C */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 02097830 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097830 */ _t214 = _t213 & 0x00000001u;
|
|
/* 02097830 */ if (_t214) goto L_02097834; else goto L_02097848;
|
|
L_02097834: ; // 0x2097834
|
|
/* 02097834 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097838 */ cpu->r[10] = 0x00000001u;
|
|
/* 0209783C */ cpu->r[0] = cpu->r[0] + 0xFFFFF058u;
|
|
/* 02097840 */ _t215 = cpu->r[9] + 0x00000000u;
|
|
/* 02097840 */ rbrew_write32(cpu->mem, _t215, cpu->r[10]);
|
|
/* 02097844 */ _t216 = cpu->r[4] + 0x00000000u;
|
|
/* 02097844 */ rbrew_write32(cpu->mem, _t216, cpu->r[0]);
|
|
L_02097848: ; // 0x2097848
|
|
/* 02097848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209784C */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209784C */ _t218 = _t217 & 0x00000001u;
|
|
/* 0209784C */ if (_t218) goto L_0209786C; else goto L_02097850;
|
|
L_02097850: ; // 0x2097850
|
|
/* 02097850 */ _t219 = cpu->r[30] + 0x00000000u;
|
|
/* 02097850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02097854 */ _t220 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02097854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02097858 */ cpu->ctr = cpu->r[0];
|
|
/* 0209785C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097868 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097868 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02097868 */ if (_t222) goto L_0209786C; else goto L_02097870;
|
|
L_0209786C: ; // 0x209786c
|
|
/* 0209786C */ cpu->r[30] = 0x00000000u;
|
|
L_02097870: ; // 0x2097870
|
|
/* 02097870 */ _t223 = cpu->r[31] + 0x00000264u;
|
|
/* 02097870 */ rbrew_write32(cpu->mem, _t223, cpu->r[30]);
|
|
/* 02097874 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097878 */ _t224 = cpu->r[30] + 0x000001B7u;
|
|
/* 02097878 */ rbrew_write8(cpu->mem, _t224, (uint8_t)cpu->r[5]);
|
|
/* 0209787C */ _t225 = cpu->r[31] + 0x00000264u;
|
|
/* 0209787C */ cpu->r[3] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02097880 */ cpu->r[4] = 0x00000800u;
|
|
/* 02097884 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02097888 */ /* nop */
|
|
/* 0209788C */ _t226 = cpu->r[1] + 0x00000124u;
|
|
/* 0209788C */ cpu->r[0] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02097890 */ cpu->lr = cpu->r[0];
|
|
/* 02097894 */ cpu->r[1] = cpu->r[1] + 0x00000120u;
|
|
/* 02097898 */ return;
|
|
}
|
|
|
|
// fn_0209789C @ 0x209789c
|
|
void Gambit_fn_0209789C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_0209789C: ; // 0x209789c
|
|
/* 0209789C */ cpu->r[0] = cpu->lr;
|
|
/* 020978A0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 020978A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020978A0 */ cpu->r[1] = _t0;
|
|
/* 020978A4 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 020978A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 020978A8 */ /* nop */
|
|
/* 020978AC */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 020978AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020978B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 020978B4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 020978B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 020978B8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 020978BC */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 020978BC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 020978C0 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 020978C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020978C4 */ _t6 = cpu->r[1] + 0x00000064u;
|
|
/* 020978C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020978C8 */ Gambit_fn_021729AC(cpu);
|
|
/* 020978CC */ cpu->r[0] = 0x00000001u;
|
|
/* 020978D0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 020978D4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 020978D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 020978D8 */ Gambit_fn_027F7288(cpu);
|
|
/* 020978DC */ cpu->r[29] = 0x10010000u;
|
|
/* 020978E0 */ cpu->r[8] = 0x10010000u;
|
|
/* 020978E4 */ cpu->r[31] = 0x10010000u;
|
|
/* 020978E8 */ cpu->r[29] = cpu->r[29] + 0xFFFFF19Cu;
|
|
/* 020978EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020978F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFEFD8u;
|
|
/* 020978F4 */ _t8 = cpu->r[8] + 0xFFFFF090u;
|
|
/* 020978F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 020978F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020978F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020978F8 */ if (_t10) goto L_020978FC; else goto L_020979B4;
|
|
L_020978FC: ; // 0x20978fc
|
|
/* 020978FC */ cpu->f[1] = cpu->f[31];
|
|
/* 02097900 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02097900 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02097904 */ cpu->r[3] = cpu->r[30];
|
|
/* 02097908 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209790C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02097910 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02097910 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02097914 */ Gambit_fn_027ED914(cpu);
|
|
/* 02097918 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209791C */ _t13 = cpu->r[30] + 0x00000250u;
|
|
/* 0209791C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02097920 */ cpu->r[5] = 0x00000003u;
|
|
/* 02097924 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02097928 */ _t14 = cpu->r[30] + 0x00000250u;
|
|
/* 02097928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209792C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02097930 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097934 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097934 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02097938 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209793C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0209793C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02097940 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02097940 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02097944 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097948 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209794C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209794C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02097950 */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097954 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02097958 */ _t20 = cpu->r[9] + 0x00000014u;
|
|
/* 02097958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209795C */ cpu->ctr = cpu->r[0];
|
|
/* 02097960 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097968 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02097968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209796C */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 0209796C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02097970 */ cpu->ctr = cpu->r[7];
|
|
/* 02097974 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02097974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02097978 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0209797C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097980 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02097980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02097984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097988 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097988 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02097988 */ if (_t26) goto L_0209798C; else goto L_02097AD8;
|
|
L_0209798C: ; // 0x209798c
|
|
/* 0209798C */ cpu->r[4] = 0x00000001u;
|
|
/* 02097990 */ _t27 = cpu->r[30] + 0x00000264u;
|
|
/* 02097990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02097994 */ cpu->r[5] = cpu->r[4];
|
|
/* 02097998 */ Gambit_fn_020BDD60(cpu);
|
|
/* 0209799C */ _t28 = cpu->r[30] + 0x00000260u;
|
|
/* 0209799C */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 020979A0 */ cpu->r[10] = 0x00000001u;
|
|
/* 020979A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 020979A8 */ _t29 = cpu->r[30] + 0x00000268u;
|
|
/* 020979A8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
/* 020979AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020979AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 020979AC */ if (_t31) goto L_02097B34; else goto L_020979B0;
|
|
L_020979B0: ; // 0x20979b0
|
|
/* 020979B0 */ goto L_02097B2C;
|
|
L_020979B4: ; // 0x20979b4
|
|
/* 020979B4 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 020979B8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 020979BC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020979C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020979C0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 020979C4 */ Gambit_fn_02172B08(cpu);
|
|
/* 020979C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020979CC */ cpu->r[3] = cpu->r[30];
|
|
/* 020979D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 020979D4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020979D4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 020979D4 */ if (_t34) goto L_020979D8; else goto L_02097A64;
|
|
L_020979D8: ; // 0x20979d8
|
|
/* 020979D8 */ cpu->f[1] = cpu->f[31];
|
|
/* 020979DC */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020979DC */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 020979E0 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 020979E4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 020979E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 020979E8 */ Gambit_fn_027ED914(cpu);
|
|
/* 020979EC */ _t37 = cpu->r[30] + 0x00000250u;
|
|
/* 020979EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020979F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020979F4 */ cpu->r[5] = 0x00000003u;
|
|
/* 020979F8 */ Gambit_fn_020A7D70(cpu);
|
|
/* 020979FC */ _t38 = cpu->r[30] + 0x00000250u;
|
|
/* 020979FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02097A00 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02097A04 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097A08 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A08 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02097A0C */ cpu->r[7] = 0x10010000u;
|
|
/* 02097A10 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A10 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02097A14 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097A18 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A18 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02097A1C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A1C */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02097A20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A24 */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097A28 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02097A2C */ _t44 = cpu->r[9] + 0x00000014u;
|
|
/* 02097A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02097A30 */ cpu->ctr = cpu->r[0];
|
|
/* 02097A34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097A3C */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02097A40 */ _t46 = cpu->r[12] + 0x00000014u;
|
|
/* 02097A40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02097A44 */ cpu->ctr = cpu->r[7];
|
|
/* 02097A48 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02097A4C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02097A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097A54 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02097A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097A5C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097A5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02097A5C */ if (_t50) goto L_0209798C; else goto L_02097A60;
|
|
L_02097A60: ; // 0x2097a60
|
|
/* 02097A60 */ goto L_02097AD8;
|
|
L_02097A64: ; // 0x2097a64
|
|
/* 02097A64 */ cpu->r[12] = 0x10010000u;
|
|
/* 02097A68 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02097A68 */ rbrew_write32(cpu->mem, _t51, cpu->r[31]);
|
|
/* 02097A6C */ _t52 = cpu->r[12] + 0xFFFFF08Cu;
|
|
/* 02097A6C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02097A70 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02097A74 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02097A74 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02097A78 */ Gambit_fn_027ED914(cpu);
|
|
/* 02097A7C */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097A80 */ cpu->r[7] = 0x10010000u;
|
|
/* 02097A84 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A84 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02097A88 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097A8C */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A8C */ rbrew_write32(cpu->mem, _t55, cpu->r[31]);
|
|
/* 02097A90 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A90 */ rbrew_write32(cpu->mem, _t56, cpu->r[31]);
|
|
/* 02097A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A98 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A98 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 02097A9C */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097AA0 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097AA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02097AA4 */ _t59 = cpu->r[9] + 0x00000014u;
|
|
/* 02097AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02097AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02097AAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097AB4 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02097AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02097AB8 */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 02097AB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02097ABC */ cpu->ctr = cpu->r[7];
|
|
/* 02097AC0 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 02097AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02097AC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02097AC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097ACC */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02097ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02097AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097AD4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097AD4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02097AD4 */ if (_t65) goto L_0209798C; else goto L_02097AD8;
|
|
L_02097AD8: ; // 0x2097ad8
|
|
/* 02097AD8 */ cpu->r[8] = 0x00080000u;
|
|
/* 02097ADC */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02097ADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02097AE0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02097AE4 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02097AE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02097AE8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02097AEC */ cpu->ctr = cpu->r[8];
|
|
/* 02097AF0 */ _t68 = cpu->r[12] + 0x00007399u;
|
|
/* 02097AF0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02097AF4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02097AF8: ; // 0x2097af8
|
|
/* 02097AF8 */ _t69 = cpu->r[7] + 0x00000000u;
|
|
/* 02097AF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02097AFC */ _t70 = cpu->r[9] + 0x00000001u;
|
|
/* 02097AFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02097AFC */ cpu->r[9] = _t70;
|
|
/* 02097B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02097B04 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B04 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02097B04 */ if (_t72) goto L_02097B08; else goto L_02097B18;
|
|
L_02097B08: ; // 0x2097b08
|
|
/* 02097B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02097B0C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B0C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02097B0C */ if (_t74) goto L_0209798C; else goto L_02097B10;
|
|
L_02097B10: ; // 0x2097b10
|
|
/* 02097B10 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02097B14 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02097B14 */ _t75 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02097B14 */ _t76 = _t75 >> (0x00000002u & 31u);
|
|
/* 02097B14 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02097B14 */ if (_t77) goto L_02097AF8; else goto L_02097B18;
|
|
L_02097B18: ; // 0x2097b18
|
|
/* 02097B18 */ _t78 = cpu->r[30] + 0x00000260u;
|
|
/* 02097B18 */ cpu->r[8] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02097B1C */ cpu->r[10] = 0x00000000u;
|
|
/* 02097B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02097B24 */ _t79 = cpu->r[30] + 0x00000268u;
|
|
/* 02097B24 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[10]);
|
|
/* 02097B28 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B28 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02097B28 */ if (_t81) goto L_02097B34; else goto L_02097B2C;
|
|
L_02097B2C: ; // 0x2097b2c
|
|
/* 02097B2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097B30 */ Gambit_fn_02096C00(cpu);
|
|
L_02097B34: ; // 0x2097b34
|
|
/* 02097B34 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02097B38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02097B3C */ Gambit_fn_02172A44(cpu);
|
|
/* 02097B40 */ _t82 = cpu->r[1] + 0x00000044u;
|
|
/* 02097B40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02097B44 */ _t83 = cpu->r[1] + 0x00000058u;
|
|
/* 02097B44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02097B48 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 02097B48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02097B4C */ _t85 = cpu->r[1] + 0x00000050u;
|
|
/* 02097B4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02097B50 */ _t86 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02097B50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02097B54 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097B54 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02097B54 */ if (_t88) goto L_02097B58; // else: addr-0 trap, fall-through
|
|
L_02097B58: ; // 0x2097b58
|
|
/* 02097B58 */ _t89 = cpu->r[1] + 0x00000064u;
|
|
/* 02097B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02097B5C */ cpu->lr = cpu->r[0];
|
|
/* 02097B60 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02097B64 */ return;
|
|
}
|
|
|
|
// fn_020978A0 @ 0x20978a0
|
|
void Gambit_fn_020978A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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;
|
|
|
|
L_020978A0: ; // 0x20978a0
|
|
/* 020978A0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 020978A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020978A0 */ cpu->r[1] = _t0;
|
|
/* 020978A4 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 020978A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 020978A8 */ /* nop */
|
|
/* 020978AC */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 020978AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020978B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 020978B4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 020978B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 020978B8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 020978BC */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 020978BC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 020978C0 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 020978C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020978C4 */ _t6 = cpu->r[1] + 0x00000064u;
|
|
/* 020978C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020978C8 */ Gambit_fn_021729AC(cpu);
|
|
/* 020978CC */ cpu->r[0] = 0x00000001u;
|
|
/* 020978D0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 020978D4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 020978D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 020978D8 */ Gambit_fn_027F7288(cpu);
|
|
/* 020978DC */ cpu->r[29] = 0x10010000u;
|
|
/* 020978E0 */ cpu->r[8] = 0x10010000u;
|
|
/* 020978E4 */ cpu->r[31] = 0x10010000u;
|
|
/* 020978E8 */ cpu->r[29] = cpu->r[29] + 0xFFFFF19Cu;
|
|
/* 020978EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020978F0 */ cpu->r[31] = cpu->r[31] + 0xFFFFEFD8u;
|
|
/* 020978F4 */ _t8 = cpu->r[8] + 0xFFFFF090u;
|
|
/* 020978F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 020978F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020978F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020978F8 */ if (_t10) goto L_020978FC; else goto L_020979B4;
|
|
L_020978FC: ; // 0x20978fc
|
|
/* 020978FC */ cpu->f[1] = cpu->f[31];
|
|
/* 02097900 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02097900 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02097904 */ cpu->r[3] = cpu->r[30];
|
|
/* 02097908 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209790C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02097910 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02097910 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02097914 */ Gambit_fn_027ED914(cpu);
|
|
/* 02097918 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209791C */ _t13 = cpu->r[30] + 0x00000250u;
|
|
/* 0209791C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02097920 */ cpu->r[5] = 0x00000003u;
|
|
/* 02097924 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02097928 */ _t14 = cpu->r[30] + 0x00000250u;
|
|
/* 02097928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209792C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02097930 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097934 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097934 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02097938 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209793C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0209793C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02097940 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02097940 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02097944 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097948 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209794C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209794C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02097950 */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097954 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02097958 */ _t20 = cpu->r[9] + 0x00000014u;
|
|
/* 02097958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209795C */ cpu->ctr = cpu->r[0];
|
|
/* 02097960 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097968 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02097968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209796C */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 0209796C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02097970 */ cpu->ctr = cpu->r[7];
|
|
/* 02097974 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02097974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02097978 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0209797C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097980 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02097980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02097984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097988 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097988 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02097988 */ if (_t26) goto L_0209798C; else goto L_02097AD8;
|
|
L_0209798C: ; // 0x209798c
|
|
/* 0209798C */ cpu->r[4] = 0x00000001u;
|
|
/* 02097990 */ _t27 = cpu->r[30] + 0x00000264u;
|
|
/* 02097990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02097994 */ cpu->r[5] = cpu->r[4];
|
|
/* 02097998 */ Gambit_fn_020BDD60(cpu);
|
|
/* 0209799C */ _t28 = cpu->r[30] + 0x00000260u;
|
|
/* 0209799C */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 020979A0 */ cpu->r[10] = 0x00000001u;
|
|
/* 020979A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 020979A8 */ _t29 = cpu->r[30] + 0x00000268u;
|
|
/* 020979A8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
/* 020979AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020979AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 020979AC */ if (_t31) goto L_02097B34; else goto L_020979B0;
|
|
L_020979B0: ; // 0x20979b0
|
|
/* 020979B0 */ goto L_02097B2C;
|
|
L_020979B4: ; // 0x20979b4
|
|
/* 020979B4 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 020979B8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 020979BC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 020979C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020979C0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 020979C4 */ Gambit_fn_02172B08(cpu);
|
|
/* 020979C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020979CC */ cpu->r[3] = cpu->r[30];
|
|
/* 020979D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 020979D4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020979D4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 020979D4 */ if (_t34) goto L_020979D8; else goto L_02097A64;
|
|
L_020979D8: ; // 0x20979d8
|
|
/* 020979D8 */ cpu->f[1] = cpu->f[31];
|
|
/* 020979DC */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020979DC */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 020979E0 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 020979E4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 020979E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 020979E8 */ Gambit_fn_027ED914(cpu);
|
|
/* 020979EC */ _t37 = cpu->r[30] + 0x00000250u;
|
|
/* 020979EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020979F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020979F4 */ cpu->r[5] = 0x00000003u;
|
|
/* 020979F8 */ Gambit_fn_020A7D70(cpu);
|
|
/* 020979FC */ _t38 = cpu->r[30] + 0x00000250u;
|
|
/* 020979FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02097A00 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02097A04 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097A08 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A08 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02097A0C */ cpu->r[7] = 0x10010000u;
|
|
/* 02097A10 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A10 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02097A14 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097A18 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A18 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02097A1C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A1C */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02097A20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A24 */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097A28 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02097A2C */ _t44 = cpu->r[9] + 0x00000014u;
|
|
/* 02097A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02097A30 */ cpu->ctr = cpu->r[0];
|
|
/* 02097A34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097A3C */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02097A40 */ _t46 = cpu->r[12] + 0x00000014u;
|
|
/* 02097A40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02097A44 */ cpu->ctr = cpu->r[7];
|
|
/* 02097A48 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02097A4C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02097A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097A54 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02097A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097A5C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097A5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02097A5C */ if (_t50) goto L_0209798C; else goto L_02097A60;
|
|
L_02097A60: ; // 0x2097a60
|
|
/* 02097A60 */ goto L_02097AD8;
|
|
L_02097A64: ; // 0x2097a64
|
|
/* 02097A64 */ cpu->r[12] = 0x10010000u;
|
|
/* 02097A68 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02097A68 */ rbrew_write32(cpu->mem, _t51, cpu->r[31]);
|
|
/* 02097A6C */ _t52 = cpu->r[12] + 0xFFFFF08Cu;
|
|
/* 02097A6C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02097A70 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02097A74 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02097A74 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02097A78 */ Gambit_fn_027ED914(cpu);
|
|
/* 02097A7C */ Gambit_fn_027FAD20(cpu);
|
|
/* 02097A80 */ cpu->r[7] = 0x10010000u;
|
|
/* 02097A84 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02097A84 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02097A88 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1A4u;
|
|
/* 02097A8C */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097A8C */ rbrew_write32(cpu->mem, _t55, cpu->r[31]);
|
|
/* 02097A90 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02097A90 */ rbrew_write32(cpu->mem, _t56, cpu->r[31]);
|
|
/* 02097A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097A98 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02097A98 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 02097A9C */ Gambit_fn_02097CA0(cpu);
|
|
/* 02097AA0 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097AA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02097AA4 */ _t59 = cpu->r[9] + 0x00000014u;
|
|
/* 02097AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02097AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02097AAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097AB4 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02097AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02097AB8 */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 02097AB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02097ABC */ cpu->ctr = cpu->r[7];
|
|
/* 02097AC0 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 02097AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02097AC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02097AC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097ACC */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02097ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02097AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02097AD4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097AD4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02097AD4 */ if (_t65) goto L_0209798C; else goto L_02097AD8;
|
|
L_02097AD8: ; // 0x2097ad8
|
|
/* 02097AD8 */ cpu->r[8] = 0x00080000u;
|
|
/* 02097ADC */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02097ADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02097AE0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02097AE4 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02097AE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02097AE8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02097AEC */ cpu->ctr = cpu->r[8];
|
|
/* 02097AF0 */ _t68 = cpu->r[12] + 0x00007399u;
|
|
/* 02097AF0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02097AF4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02097AF8: ; // 0x2097af8
|
|
/* 02097AF8 */ _t69 = cpu->r[7] + 0x00000000u;
|
|
/* 02097AF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02097AFC */ _t70 = cpu->r[9] + 0x00000001u;
|
|
/* 02097AFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02097AFC */ cpu->r[9] = _t70;
|
|
/* 02097B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02097B04 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B04 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02097B04 */ if (_t72) goto L_02097B08; else goto L_02097B18;
|
|
L_02097B08: ; // 0x2097b08
|
|
/* 02097B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02097B0C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B0C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02097B0C */ if (_t74) goto L_0209798C; else goto L_02097B10;
|
|
L_02097B10: ; // 0x2097b10
|
|
/* 02097B10 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02097B14 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02097B14 */ _t75 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02097B14 */ _t76 = _t75 >> (0x00000002u & 31u);
|
|
/* 02097B14 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02097B14 */ if (_t77) goto L_02097AF8; else goto L_02097B18;
|
|
L_02097B18: ; // 0x2097b18
|
|
/* 02097B18 */ _t78 = cpu->r[30] + 0x00000260u;
|
|
/* 02097B18 */ cpu->r[8] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02097B1C */ cpu->r[10] = 0x00000000u;
|
|
/* 02097B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02097B24 */ _t79 = cpu->r[30] + 0x00000268u;
|
|
/* 02097B24 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[10]);
|
|
/* 02097B28 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097B28 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02097B28 */ if (_t81) goto L_02097B34; else goto L_02097B2C;
|
|
L_02097B2C: ; // 0x2097b2c
|
|
/* 02097B2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097B30 */ Gambit_fn_02096C00(cpu);
|
|
L_02097B34: ; // 0x2097b34
|
|
/* 02097B34 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02097B38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02097B3C */ Gambit_fn_02172A44(cpu);
|
|
/* 02097B40 */ _t82 = cpu->r[1] + 0x00000044u;
|
|
/* 02097B40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02097B44 */ _t83 = cpu->r[1] + 0x00000058u;
|
|
/* 02097B44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02097B48 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 02097B48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02097B4C */ _t85 = cpu->r[1] + 0x00000050u;
|
|
/* 02097B4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02097B50 */ _t86 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02097B50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02097B54 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02097B54 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02097B54 */ if (_t88) goto L_02097B58; // else: addr-0 trap, fall-through
|
|
L_02097B58: ; // 0x2097b58
|
|
/* 02097B58 */ _t89 = cpu->r[1] + 0x00000064u;
|
|
/* 02097B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02097B5C */ cpu->lr = cpu->r[0];
|
|
/* 02097B60 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02097B64 */ return;
|
|
}
|
|
|
|
// fn_02097B68 @ 0x2097b68
|
|
void Gambit_fn_02097B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02097B68: ; // 0x2097b68
|
|
/* 02097B68 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02097B6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02097B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097B6C */ cpu->r[1] = _t0;
|
|
/* 02097B70 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02097B74 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02097B78 */ _t1 = cpu->r[10] + 0xFFFFD8CCu;
|
|
/* 02097B78 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02097B78 */ cpu->r[10] = _t1;
|
|
/* 02097B7C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02097B80 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02097B80 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02097B84 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02097B88 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02097B8C */ _t3 = cpu->r[7] + 0xFFFFD8DCu;
|
|
/* 02097B8C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02097B8C */ cpu->r[7] = _t3;
|
|
/* 02097B90 */ _t4 = cpu->r[8] + 0xFFFFD8D4u;
|
|
/* 02097B90 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02097B90 */ cpu->r[8] = _t4;
|
|
/* 02097B94 */ cpu->r[0] = 0x00000002u;
|
|
/* 02097B98 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02097B98 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02097B9C */ cpu->r[8] = 0x101E0000u;
|
|
/* 02097BA0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02097BA4 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02097BA8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02097BA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02097BAC */ _t8 = cpu->r[8] + 0xFFFFD8ECu;
|
|
/* 02097BAC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02097BAC */ cpu->r[8] = _t8;
|
|
/* 02097BB0 */ _t9 = cpu->r[12] + 0xFFFFD8E4u;
|
|
/* 02097BB0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02097BB0 */ cpu->r[12] = _t9;
|
|
/* 02097BB4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02097BB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02097BB8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02097BBC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02097BBC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02097BC0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02097BC4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02097BC8 */ _t13 = cpu->r[11] + 0xFFFFD8F4u;
|
|
/* 02097BC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02097BCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02097BD0 */ return;
|
|
}
|
|
|
|
// fn_02097B6C @ 0x2097b6c
|
|
void Gambit_fn_02097B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02097B6C: ; // 0x2097b6c
|
|
/* 02097B6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02097B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097B6C */ cpu->r[1] = _t0;
|
|
/* 02097B70 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02097B74 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02097B78 */ _t1 = cpu->r[10] + 0xFFFFD8CCu;
|
|
/* 02097B78 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02097B78 */ cpu->r[10] = _t1;
|
|
/* 02097B7C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02097B80 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02097B80 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02097B84 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02097B88 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02097B8C */ _t3 = cpu->r[7] + 0xFFFFD8DCu;
|
|
/* 02097B8C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02097B8C */ cpu->r[7] = _t3;
|
|
/* 02097B90 */ _t4 = cpu->r[8] + 0xFFFFD8D4u;
|
|
/* 02097B90 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02097B90 */ cpu->r[8] = _t4;
|
|
/* 02097B94 */ cpu->r[0] = 0x00000002u;
|
|
/* 02097B98 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02097B98 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02097B9C */ cpu->r[8] = 0x101E0000u;
|
|
/* 02097BA0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02097BA4 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02097BA8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02097BA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02097BAC */ _t8 = cpu->r[8] + 0xFFFFD8ECu;
|
|
/* 02097BAC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02097BAC */ cpu->r[8] = _t8;
|
|
/* 02097BB0 */ _t9 = cpu->r[12] + 0xFFFFD8E4u;
|
|
/* 02097BB0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02097BB0 */ cpu->r[12] = _t9;
|
|
/* 02097BB4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02097BB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02097BB8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02097BBC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02097BBC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02097BC0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02097BC4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02097BC8 */ _t13 = cpu->r[11] + 0xFFFFD8F4u;
|
|
/* 02097BC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02097BCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02097BD0 */ return;
|
|
}
|
|
|
|
// fn_02097BD4 @ 0x2097bd4
|
|
void Gambit_fn_02097BD4(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_02097BD4: ; // 0x2097bd4
|
|
/* 02097BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097BD8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097BD8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02097BD8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097BD8 */ goto L_02097BDC;
|
|
L_02097BDC: ; // 0x2097bdc
|
|
/* 02097BDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097BE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097BE0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02097BE0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097BE0 */ goto L_02097BE4;
|
|
L_02097BE4: ; // 0x2097be4
|
|
/* 02097BE4 */ 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_02097BE8 @ 0x2097be8
|
|
void Gambit_fn_02097BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02097BE8: ; // 0x2097be8
|
|
/* 02097BE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02097BEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02097BEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097BEC */ cpu->r[1] = _t0;
|
|
/* 02097BF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097BF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02097BF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02097BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097BFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02097C00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097C04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02097C04 */ if (_t5) goto L_02097C74; else goto L_02097C08;
|
|
L_02097C08: ; // 0x2097c08
|
|
/* 02097C08 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C0C */ cpu->r[12] = 0x10010000u;
|
|
/* 02097C10 */ cpu->r[0] = cpu->r[0] + 0xFFFFF380u;
|
|
/* 02097C14 */ cpu->r[12] = cpu->r[12] + 0xFFFFF3A0u;
|
|
/* 02097C18 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02097C1C */ cpu->r[11] = 0x10010000u;
|
|
/* 02097C20 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02097C24 */ cpu->r[11] = cpu->r[11] + 0xFFFFF390u;
|
|
/* 02097C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097C2C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02097C30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02097C30 */ if (_t10) goto L_02097C64; else goto L_02097C34;
|
|
L_02097C34: ; // 0x2097c34
|
|
/* 02097C34 */ cpu->r[10] = 0x10010000u;
|
|
/* 02097C38 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C3C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02097C40 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02097C44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C48 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02097C4C */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C50 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C50 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02097C54 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02097C58 */ cpu->r[4] = 0x00000000u;
|
|
/* 02097C5C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02097C60 */ Gambit_fn_02068798(cpu);
|
|
L_02097C64: ; // 0x2097c64
|
|
/* 02097C64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097C68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02097C68 */ if (_t15) goto L_02097C74; else goto L_02097C6C;
|
|
L_02097C6C: ; // 0x2097c6c
|
|
/* 02097C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C70 */ Gambit_fn_02801BB0(cpu);
|
|
L_02097C74: ; // 0x2097c74
|
|
/* 02097C74 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097C78 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02097C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097C7C */ cpu->lr = cpu->r[0];
|
|
/* 02097C80 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02097C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02097C88 */ return;
|
|
}
|
|
|
|
// fn_02097BEC @ 0x2097bec
|
|
void Gambit_fn_02097BEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02097BEC: ; // 0x2097bec
|
|
/* 02097BEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02097BEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097BEC */ cpu->r[1] = _t0;
|
|
/* 02097BF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097BF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02097BF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02097BF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02097BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097BFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02097C00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097C04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02097C04 */ if (_t5) goto L_02097C74; else goto L_02097C08;
|
|
L_02097C08: ; // 0x2097c08
|
|
/* 02097C08 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C0C */ cpu->r[12] = 0x10010000u;
|
|
/* 02097C10 */ cpu->r[0] = cpu->r[0] + 0xFFFFF380u;
|
|
/* 02097C14 */ cpu->r[12] = cpu->r[12] + 0xFFFFF3A0u;
|
|
/* 02097C18 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02097C1C */ cpu->r[11] = 0x10010000u;
|
|
/* 02097C20 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02097C24 */ cpu->r[11] = cpu->r[11] + 0xFFFFF390u;
|
|
/* 02097C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02097C2C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02097C30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02097C30 */ if (_t10) goto L_02097C64; else goto L_02097C34;
|
|
L_02097C34: ; // 0x2097c34
|
|
/* 02097C34 */ cpu->r[10] = 0x10010000u;
|
|
/* 02097C38 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C3C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02097C40 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02097C44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C48 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02097C48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02097C4C */ cpu->r[0] = 0x10010000u;
|
|
/* 02097C50 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02097C50 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02097C54 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02097C58 */ cpu->r[4] = 0x00000000u;
|
|
/* 02097C5C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02097C5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02097C60 */ Gambit_fn_02068798(cpu);
|
|
L_02097C64: ; // 0x2097c64
|
|
/* 02097C64 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097C68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097C68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02097C68 */ if (_t15) goto L_02097C74; else goto L_02097C6C;
|
|
L_02097C6C: ; // 0x2097c6c
|
|
/* 02097C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02097C70 */ Gambit_fn_02801BB0(cpu);
|
|
L_02097C74: ; // 0x2097c74
|
|
/* 02097C74 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02097C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097C78 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02097C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097C7C */ cpu->lr = cpu->r[0];
|
|
/* 02097C80 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02097C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02097C88 */ return;
|
|
}
|
|
|
|
// fn_02097C8C @ 0x2097c8c
|
|
void Gambit_fn_02097C8C(CPUState* cpu) {
|
|
L_02097C8C: ; // 0x2097c8c
|
|
/* 02097C8C */ return;
|
|
}
|
|
|
|
// fn_02097C90 @ 0x2097c90
|
|
void Gambit_fn_02097C90(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097C90: ; // 0x2097c90
|
|
/* 02097C90 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02097C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097C94 */ return;
|
|
}
|
|
|
|
// fn_02097C98 @ 0x2097c98
|
|
void Gambit_fn_02097C98(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097C98: ; // 0x2097c98
|
|
/* 02097C98 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02097C98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097C9C */ return;
|
|
}
|
|
|
|
// fn_02097CA0 @ 0x2097ca0
|
|
void Gambit_fn_02097CA0(CPUState* cpu) {
|
|
L_02097CA0: ; // 0x2097ca0
|
|
/* 02097CA0 */ return;
|
|
}
|
|
|
|
// fn_02097CA4 @ 0x2097ca4
|
|
void Gambit_fn_02097CA4(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_02097CA4: ; // 0x2097ca4
|
|
/* 02097CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097CA8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CA8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02097CA8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CA8 */ goto L_02097CAC;
|
|
L_02097CAC: ; // 0x2097cac
|
|
/* 02097CAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097CB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02097CB0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CB0 */ goto L_02097CB4;
|
|
L_02097CB4: ; // 0x2097cb4
|
|
/* 02097CB4 */ 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_02097CB8 @ 0x2097cb8
|
|
void Gambit_fn_02097CB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02097CB8: ; // 0x2097cb8
|
|
/* 02097CB8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02097CB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097CBC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02097CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02097CC0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02097CC4 */ cpu->r[11] = 0x10110000u;
|
|
/* 02097CC8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02097CC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02097CCC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02097CCC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02097CD0 */ return;
|
|
}
|
|
|
|
// fn_02097CD4 @ 0x2097cd4
|
|
void Gambit_fn_02097CD4(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_02097CD4: ; // 0x2097cd4
|
|
/* 02097CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097CD8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CD8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02097CD8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CD8 */ goto L_02097CDC;
|
|
L_02097CDC: ; // 0x2097cdc
|
|
/* 02097CDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097CE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CE0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02097CE0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CE0 */ goto L_02097CE4;
|
|
L_02097CE4: ; // 0x2097ce4
|
|
/* 02097CE4 */ 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_02097CE8 @ 0x2097ce8
|
|
void Gambit_fn_02097CE8(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_02097CE8: ; // 0x2097ce8
|
|
/* 02097CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097CEC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02097CEC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CEC */ goto L_02097CF0;
|
|
L_02097CF0: ; // 0x2097cf0
|
|
/* 02097CF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02097CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097CF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097CF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02097CF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02097CF4 */ goto L_02097CF8;
|
|
L_02097CF8: ; // 0x2097cf8
|
|
/* 02097CF8 */ 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_02097CFC @ 0x2097cfc
|
|
void Gambit_fn_02097CFC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097CFC: ; // 0x2097cfc
|
|
/* 02097CFC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02097CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097D00 */ return;
|
|
}
|
|
|
|
// fn_02097D04 @ 0x2097d04
|
|
void Gambit_fn_02097D04(CPUState* cpu) {
|
|
L_02097D04: ; // 0x2097d04
|
|
/* 02097D04 */ return;
|
|
}
|
|
|
|
// fn_02097D08 @ 0x2097d08
|
|
void Gambit_fn_02097D08(CPUState* cpu) {
|
|
L_02097D08: ; // 0x2097d08
|
|
/* 02097D08 */ return;
|
|
}
|
|
|
|
// fn_02097D0C @ 0x2097d0c
|
|
void Gambit_fn_02097D0C(CPUState* cpu) {
|
|
L_02097D0C: ; // 0x2097d0c
|
|
/* 02097D0C */ return;
|
|
}
|
|
|
|
// fn_02097D10 @ 0x2097d10
|
|
void Gambit_fn_02097D10(CPUState* cpu) {
|
|
L_02097D10: ; // 0x2097d10
|
|
/* 02097D10 */ return;
|
|
}
|
|
|
|
// fn_02097D14 @ 0x2097d14
|
|
void Gambit_fn_02097D14(CPUState* cpu) {
|
|
L_02097D14: ; // 0x2097d14
|
|
/* 02097D14 */ return;
|
|
}
|
|
|
|
// fn_02097D18 @ 0x2097d18
|
|
void Gambit_fn_02097D18(CPUState* cpu) {
|
|
L_02097D18: ; // 0x2097d18
|
|
/* 02097D18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02097D1C */ return;
|
|
}
|
|
|
|
// fn_02097D20 @ 0x2097d20
|
|
void Gambit_fn_02097D20(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02097D20: ; // 0x2097d20
|
|
/* 02097D20 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02097D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097D24 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02097D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02097D28 */ cpu->ctr = cpu->r[0];
|
|
/* 02097D2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02097D30 @ 0x2097d30
|
|
void Gambit_fn_02097D30(CPUState* cpu) {
|
|
L_02097D30: ; // 0x2097d30
|
|
/* 02097D30 */ return;
|
|
}
|
|
|
|
// fn_02097D34 @ 0x2097d34
|
|
void Gambit_fn_02097D34(CPUState* cpu) {
|
|
L_02097D34: ; // 0x2097d34
|
|
/* 02097D34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097D38 */ return;
|
|
}
|
|
|
|
// fn_02097D3C @ 0x2097d3c
|
|
void Gambit_fn_02097D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02097D3C: ; // 0x2097d3c
|
|
/* 02097D3C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02097D40 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02097D40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02097D40 */ cpu->r[9] = _t0;
|
|
/* 02097D44 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02097D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097D4C */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02097D50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097D50 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02097D50 */ if (_t2) goto L_02097D54; else goto L_02097D68;
|
|
L_02097D54: ; // 0x2097d54
|
|
/* 02097D54 */ cpu->r[7] = 0x10010000u;
|
|
/* 02097D58 */ cpu->r[0] = 0x00000001u;
|
|
/* 02097D5C */ cpu->r[7] = cpu->r[7] + 0xFFFFF048u;
|
|
/* 02097D60 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02097D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097D64 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02097D64 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02097D68: ; // 0x2097d68
|
|
/* 02097D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02097D6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097D6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02097D6C */ if (_t6) goto L_02097D70; else goto L_02097D78;
|
|
L_02097D70: ; // 0x2097d70
|
|
/* 02097D70 */ cpu->r[3] = 0x00000001u;
|
|
/* 02097D74 */ return;
|
|
L_02097D78: ; // 0x2097d78
|
|
/* 02097D78 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02097D7C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02097D7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02097D7C */ cpu->r[7] = _t7;
|
|
/* 02097D80 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02097D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02097D88 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02097D8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097D8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02097D8C */ if (_t9) goto L_02097D90; else goto L_02097DA4;
|
|
L_02097D90: ; // 0x2097d90
|
|
/* 02097D90 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097D94 */ cpu->r[9] = 0x00000001u;
|
|
/* 02097D98 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFC8u;
|
|
/* 02097D9C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02097D9C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02097DA0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02097DA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02097DA4: ; // 0x2097da4
|
|
/* 02097DA4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02097DA8 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02097DAC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02097DB0 */ return;
|
|
}
|
|
|
|
// fn_02097DB4 @ 0x2097db4
|
|
void Gambit_fn_02097DB4(CPUState* cpu) {
|
|
L_02097DB4: ; // 0x2097db4
|
|
/* 02097DB4 */ return;
|
|
}
|
|
|
|
// fn_02097DB8 @ 0x2097db8
|
|
void Gambit_fn_02097DB8(CPUState* cpu) {
|
|
L_02097DB8: ; // 0x2097db8
|
|
/* 02097DB8 */ return;
|
|
}
|
|
|
|
// fn_02097DBC @ 0x2097dbc
|
|
void Gambit_fn_02097DBC(CPUState* cpu) {
|
|
L_02097DBC: ; // 0x2097dbc
|
|
/* 02097DBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02097DC0 */ return;
|
|
}
|
|
|
|
// fn_02097DC4 @ 0x2097dc4
|
|
void Gambit_fn_02097DC4(CPUState* cpu) {
|
|
L_02097DC4: ; // 0x2097dc4
|
|
/* 02097DC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02097DC8 */ return;
|
|
}
|
|
|
|
// fn_02097DCC @ 0x2097dcc
|
|
void Gambit_fn_02097DCC(CPUState* cpu) {
|
|
L_02097DCC: ; // 0x2097dcc
|
|
/* 02097DCC */ return;
|
|
}
|
|
|
|
// fn_02097DD0 @ 0x2097dd0
|
|
void Gambit_fn_02097DD0(CPUState* cpu) {
|
|
L_02097DD0: ; // 0x2097dd0
|
|
/* 02097DD0 */ return;
|
|
}
|
|
|
|
// fn_02097DD4 @ 0x2097dd4
|
|
void Gambit_fn_02097DD4(CPUState* cpu) {
|
|
L_02097DD4: ; // 0x2097dd4
|
|
/* 02097DD4 */ return;
|
|
}
|
|
|
|
// fn_02097DD8 @ 0x2097dd8
|
|
void Gambit_fn_02097DD8(CPUState* cpu) {
|
|
L_02097DD8: ; // 0x2097dd8
|
|
/* 02097DD8 */ return;
|
|
}
|
|
|
|
// fn_02097DDC @ 0x2097ddc
|
|
void Gambit_fn_02097DDC(CPUState* cpu) {
|
|
L_02097DDC: ; // 0x2097ddc
|
|
/* 02097DDC */ return;
|
|
}
|
|
|
|
// fn_02097DE0 @ 0x2097de0
|
|
void Gambit_fn_02097DE0(CPUState* cpu) {
|
|
L_02097DE0: ; // 0x2097de0
|
|
/* 02097DE0 */ return;
|
|
}
|
|
|
|
// fn_02097DE4 @ 0x2097de4
|
|
void Gambit_fn_02097DE4(CPUState* cpu) {
|
|
L_02097DE4: ; // 0x2097de4
|
|
/* 02097DE4 */ return;
|
|
}
|
|
|
|
// fn_02097DE8 @ 0x2097de8
|
|
void Gambit_fn_02097DE8(CPUState* cpu) {
|
|
L_02097DE8: ; // 0x2097de8
|
|
/* 02097DE8 */ return;
|
|
}
|
|
|
|
// fn_02097DEC @ 0x2097dec
|
|
void Gambit_fn_02097DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0208A0C8: ; // 0x208a0c8
|
|
/* 0208A0C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0208A0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0208A0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0208A0CC */ cpu->r[1] = _t0;
|
|
/* 0208A0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0208A0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0208A0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0208A0DC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0208A0DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0208A0E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0208A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0208A0E8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0208A0E8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0208A0EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0208A0EC */ if (_t6) goto L_0208A114; else goto L_0208A0F0;
|
|
L_0208A0F0: ; // 0x208a0f0
|
|
/* 0208A0F0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0208A0F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0208A0F4 */ /* nop */
|
|
/* 0208A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0208A0FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0208A0FC */ if (_t9) goto L_0208A100; else goto L_0208A114;
|
|
L_0208A100: ; // 0x208a100
|
|
/* 0208A100 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0208A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0208A104 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0208A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0208A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0208A10C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0208A114: ; // 0x208a114
|
|
/* 0208A114 */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A118 */ Gambit_fn_0208A040(cpu);
|
|
/* 0208A11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A120 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0208A124 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0208A128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0208A12C */ cpu->lr = cpu->r[0];
|
|
/* 0208A130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0208A134 */ return;
|
|
L_02097DEC: ; // 0x2097dec
|
|
/* 02097DEC */ cpu->r[3] = cpu->r[3] + 0x000001E0u;
|
|
/* 02097DF0 */ goto L_0208A0C8;
|
|
}
|
|
|
|
// fn_02097DF4 @ 0x2097df4
|
|
void Gambit_fn_02097DF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02097DF4: ; // 0x2097df4
|
|
/* 02097DF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02097DF8 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02097DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097DF8 */ cpu->r[1] = _t0;
|
|
/* 02097DFC */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097DFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097E00 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02097E04 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02097E08 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02097E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02097E0C */ cpu->ctr = cpu->r[0];
|
|
/* 02097E10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02097E14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E18 */ cpu->r[4] = cpu->r[3];
|
|
/* 02097E1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E20 */ Gambit_fn_026D6C54(cpu);
|
|
/* 02097E24 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E28 */ cpu->r[4] = 0x0000001Au;
|
|
/* 02097E2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E30 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E34 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E38 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 02097E3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E40 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E44 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 02097E48 */ Gambit_fn_02801A78(cpu);
|
|
/* 02097E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097E50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097E50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02097E50 */ if (_t6) goto L_02097E58; else goto L_02097E54;
|
|
L_02097E54: ; // 0x2097e54
|
|
/* 02097E54 */ Gambit_fn_020980AC(cpu);
|
|
L_02097E58: ; // 0x2097e58
|
|
/* 02097E58 */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02097E58 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02097E5C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02097E60 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 02097E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02097E64 */ cpu->ctr = cpu->r[0];
|
|
/* 02097E68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E70 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02097E74 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02097E78 */ cpu->lr = cpu->r[0];
|
|
/* 02097E7C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02097E80 */ return;
|
|
}
|
|
|
|
// fn_02097DF8 @ 0x2097df8
|
|
void Gambit_fn_02097DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02097DF8: ; // 0x2097df8
|
|
/* 02097DF8 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02097DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097DF8 */ cpu->r[1] = _t0;
|
|
/* 02097DFC */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097DFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097E00 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02097E04 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02097E08 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02097E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02097E0C */ cpu->ctr = cpu->r[0];
|
|
/* 02097E10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02097E14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E18 */ cpu->r[4] = cpu->r[3];
|
|
/* 02097E1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E20 */ Gambit_fn_026D6C54(cpu);
|
|
/* 02097E24 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E28 */ cpu->r[4] = 0x0000001Au;
|
|
/* 02097E2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E30 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E34 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E38 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 02097E3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E40 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E44 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 02097E48 */ Gambit_fn_02801A78(cpu);
|
|
/* 02097E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097E50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097E50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02097E50 */ if (_t6) goto L_02097E58; else goto L_02097E54;
|
|
L_02097E54: ; // 0x2097e54
|
|
/* 02097E54 */ Gambit_fn_020980AC(cpu);
|
|
L_02097E58: ; // 0x2097e58
|
|
/* 02097E58 */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02097E58 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02097E5C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02097E60 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 02097E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02097E64 */ cpu->ctr = cpu->r[0];
|
|
/* 02097E68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E70 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02097E74 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02097E78 */ cpu->lr = cpu->r[0];
|
|
/* 02097E7C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02097E80 */ return;
|
|
}
|
|
|
|
// fn_02097E84 @ 0x2097e84
|
|
void Gambit_fn_02097E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02097DF4: ; // 0x2097df4
|
|
/* 02097DF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02097DF8 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02097DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097DF8 */ cpu->r[1] = _t0;
|
|
/* 02097DFC */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097DFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02097E00 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02097E04 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02097E08 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02097E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02097E0C */ cpu->ctr = cpu->r[0];
|
|
/* 02097E10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02097E14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E18 */ cpu->r[4] = cpu->r[3];
|
|
/* 02097E1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E20 */ Gambit_fn_026D6C54(cpu);
|
|
/* 02097E24 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E28 */ cpu->r[4] = 0x0000001Au;
|
|
/* 02097E2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E30 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E34 */ cpu->r[5] = 0x00000001u;
|
|
/* 02097E38 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 02097E3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E40 */ Gambit_fn_026D6F40(cpu);
|
|
/* 02097E44 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 02097E48 */ Gambit_fn_02801A78(cpu);
|
|
/* 02097E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097E50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097E50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02097E50 */ if (_t6) goto L_02097E58; else goto L_02097E54;
|
|
L_02097E54: ; // 0x2097e54
|
|
/* 02097E54 */ Gambit_fn_020980AC(cpu);
|
|
L_02097E58: ; // 0x2097e58
|
|
/* 02097E58 */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02097E58 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02097E5C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02097E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02097E60 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 02097E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02097E64 */ cpu->ctr = cpu->r[0];
|
|
/* 02097E68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02097E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097E70 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 02097E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02097E74 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 02097E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02097E78 */ cpu->lr = cpu->r[0];
|
|
/* 02097E7C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02097E80 */ return;
|
|
L_02097E84: ; // 0x2097e84
|
|
/* 02097E84 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097E88 */ goto L_02097DF4;
|
|
}
|
|
|
|
// fn_02097E8C @ 0x2097e8c
|
|
void Gambit_fn_02097E8C(CPUState* cpu) {
|
|
L_02097E8C: ; // 0x2097e8c
|
|
/* 02097E8C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097E90 */ goto L_0209804C;
|
|
L_0209804C: ; // 0x209804c
|
|
/* 0209804C */ return;
|
|
}
|
|
|
|
// fn_02097E94 @ 0x2097e94
|
|
void Gambit_fn_02097E94(CPUState* cpu) {
|
|
L_02097E94: ; // 0x2097e94
|
|
/* 02097E94 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097E98 */ goto L_02098050;
|
|
L_02098050: ; // 0x2098050
|
|
/* 02098050 */ return;
|
|
}
|
|
|
|
// fn_02097E9C @ 0x2097e9c
|
|
void Gambit_fn_02097E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02097E9C: ; // 0x2097e9c
|
|
/* 02097E9C */ cpu->r[0] = cpu->lr;
|
|
/* 02097EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02097EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097EA0 */ cpu->r[1] = _t0;
|
|
/* 02097EA4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02097EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02097EA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02097EAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02097EB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097EB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02097EB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02097EB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02097EBC */ _t5 = cpu->r[30] + 0x00000031u;
|
|
/* 02097EBC */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02097EC0 */ _t6 = cpu->r[12] + 0xFFFF9568u;
|
|
/* 02097EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02097EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097EC8 */ cpu->r[29] = cpu->r[30] + 0x00000031u;
|
|
/* 02097ECC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097ECC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02097ECC */ if (_t8) goto L_02097ED0; else goto L_02097F1C;
|
|
L_02097ED0: ; // 0x2097ed0
|
|
/* 02097ED0 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 02097ED0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02097ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097ED8 */ cpu->r[31] = cpu->r[30] + 0x00000030u;
|
|
/* 02097EDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097EDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02097EDC */ if (_t11) goto L_02097F60; else goto L_02097EE0;
|
|
L_02097EE0: ; // 0x2097ee0
|
|
/* 02097EE0 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02097EE4 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02097EE8 */ _t14 = cpu->r[12] + 0x00000094u;
|
|
/* 02097EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02097EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02097EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097EF4 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02097EF8 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097EFC */ _t17 = cpu->r[11] + 0x00000164u;
|
|
/* 02097EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097F00 */ cpu->ctr = cpu->r[12];
|
|
/* 02097F04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F08 */ cpu->r[0] = 0x00000001u;
|
|
/* 02097F0C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F0C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02097F10 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F14 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02097F14 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02097F18 */ goto L_02097F60;
|
|
L_02097F1C: ; // 0x2097f1c
|
|
/* 02097F1C */ _t20 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02097F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097F24 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F24 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02097F24 */ if (_t22) goto L_02097F28; else goto L_02097F60;
|
|
L_02097F28: ; // 0x2097f28
|
|
/* 02097F28 */ _t23 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02097F2C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02097F30 */ _t25 = cpu->r[12] + 0x00000184u;
|
|
/* 02097F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02097F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097F40 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F40 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02097F40 */ if (_t27) goto L_02097F60; else goto L_02097F44;
|
|
L_02097F44: ; // 0x2097f44
|
|
/* 02097F44 */ _t28 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02097F48 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02097F4C */ _t30 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02097F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F5C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F5C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
L_02097F60: ; // 0x2097f60
|
|
/* 02097F60 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097F60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02097F64 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02097F68 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02097F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02097F6C */ cpu->lr = cpu->r[0];
|
|
/* 02097F70 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02097F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02097F74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02097F78 */ return;
|
|
}
|
|
|
|
// fn_02097EA0 @ 0x2097ea0
|
|
void Gambit_fn_02097EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02097EA0: ; // 0x2097ea0
|
|
/* 02097EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02097EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097EA0 */ cpu->r[1] = _t0;
|
|
/* 02097EA4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02097EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02097EA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02097EAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02097EB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097EB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02097EB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02097EB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02097EBC */ _t5 = cpu->r[30] + 0x00000031u;
|
|
/* 02097EBC */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02097EC0 */ _t6 = cpu->r[12] + 0xFFFF9568u;
|
|
/* 02097EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02097EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097EC8 */ cpu->r[29] = cpu->r[30] + 0x00000031u;
|
|
/* 02097ECC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097ECC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02097ECC */ if (_t8) goto L_02097ED0; else goto L_02097F1C;
|
|
L_02097ED0: ; // 0x2097ed0
|
|
/* 02097ED0 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 02097ED0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02097ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097ED8 */ cpu->r[31] = cpu->r[30] + 0x00000030u;
|
|
/* 02097EDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097EDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02097EDC */ if (_t11) goto L_02097F60; else goto L_02097EE0;
|
|
L_02097EE0: ; // 0x2097ee0
|
|
/* 02097EE0 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02097EE4 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02097EE8 */ _t14 = cpu->r[12] + 0x00000094u;
|
|
/* 02097EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02097EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02097EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097EF4 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02097EF8 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097EFC */ _t17 = cpu->r[11] + 0x00000164u;
|
|
/* 02097EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097F00 */ cpu->ctr = cpu->r[12];
|
|
/* 02097F04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F08 */ cpu->r[0] = 0x00000001u;
|
|
/* 02097F0C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F0C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02097F10 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F14 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02097F14 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02097F18 */ goto L_02097F60;
|
|
L_02097F1C: ; // 0x2097f1c
|
|
/* 02097F1C */ _t20 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02097F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097F24 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F24 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02097F24 */ if (_t22) goto L_02097F28; else goto L_02097F60;
|
|
L_02097F28: ; // 0x2097f28
|
|
/* 02097F28 */ _t23 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02097F2C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02097F30 */ _t25 = cpu->r[12] + 0x00000184u;
|
|
/* 02097F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02097F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097F40 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F40 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02097F40 */ if (_t27) goto L_02097F60; else goto L_02097F44;
|
|
L_02097F44: ; // 0x2097f44
|
|
/* 02097F44 */ _t28 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02097F48 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02097F4C */ _t30 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02097F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F5C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F5C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
L_02097F60: ; // 0x2097f60
|
|
/* 02097F60 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097F60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02097F64 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02097F68 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02097F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02097F6C */ cpu->lr = cpu->r[0];
|
|
/* 02097F70 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02097F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02097F74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02097F78 */ return;
|
|
}
|
|
|
|
// fn_02097F7C @ 0x2097f7c
|
|
void Gambit_fn_02097F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02097E9C: ; // 0x2097e9c
|
|
/* 02097E9C */ cpu->r[0] = cpu->lr;
|
|
/* 02097EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02097EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097EA0 */ cpu->r[1] = _t0;
|
|
/* 02097EA4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02097EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02097EA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02097EAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02097EB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097EB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02097EB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02097EB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02097EBC */ _t5 = cpu->r[30] + 0x00000031u;
|
|
/* 02097EBC */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02097EC0 */ _t6 = cpu->r[12] + 0xFFFF9568u;
|
|
/* 02097EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02097EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097EC8 */ cpu->r[29] = cpu->r[30] + 0x00000031u;
|
|
/* 02097ECC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097ECC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02097ECC */ if (_t8) goto L_02097ED0; else goto L_02097F1C;
|
|
L_02097ED0: ; // 0x2097ed0
|
|
/* 02097ED0 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 02097ED0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02097ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02097ED8 */ cpu->r[31] = cpu->r[30] + 0x00000030u;
|
|
/* 02097EDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097EDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02097EDC */ if (_t11) goto L_02097F60; else goto L_02097EE0;
|
|
L_02097EE0: ; // 0x2097ee0
|
|
/* 02097EE0 */ _t12 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02097EE4 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02097EE8 */ _t14 = cpu->r[12] + 0x00000094u;
|
|
/* 02097EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02097EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02097EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097EF4 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097EF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02097EF8 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02097EF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02097EFC */ _t17 = cpu->r[11] + 0x00000164u;
|
|
/* 02097EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02097F00 */ cpu->ctr = cpu->r[12];
|
|
/* 02097F04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F08 */ cpu->r[0] = 0x00000001u;
|
|
/* 02097F0C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F0C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02097F10 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F14 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02097F14 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02097F18 */ goto L_02097F60;
|
|
L_02097F1C: ; // 0x2097f1c
|
|
/* 02097F1C */ _t20 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02097F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02097F24 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F24 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02097F24 */ if (_t22) goto L_02097F28; else goto L_02097F60;
|
|
L_02097F28: ; // 0x2097f28
|
|
/* 02097F28 */ _t23 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02097F2C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02097F30 */ _t25 = cpu->r[12] + 0x00000184u;
|
|
/* 02097F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02097F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02097F40 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097F40 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02097F40 */ if (_t27) goto L_02097F60; else goto L_02097F44;
|
|
L_02097F44: ; // 0x2097f44
|
|
/* 02097F44 */ _t28 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02097F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02097F48 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02097F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02097F4C */ _t30 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02097F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02097F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02097F54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02097F58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02097F5C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02097F5C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
L_02097F60: ; // 0x2097f60
|
|
/* 02097F60 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097F60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02097F64 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02097F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02097F68 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02097F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02097F6C */ cpu->lr = cpu->r[0];
|
|
/* 02097F70 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02097F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02097F74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02097F78 */ return;
|
|
L_02097F7C: ; // 0x2097f7c
|
|
/* 02097F7C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097F80 */ goto L_02097E9C;
|
|
}
|
|
|
|
// fn_02097F84 @ 0x2097f84
|
|
void Gambit_fn_02097F84(CPUState* cpu) {
|
|
L_02097F84: ; // 0x2097f84
|
|
/* 02097F84 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097F88 */ goto L_02098054;
|
|
L_02098054: ; // 0x2098054
|
|
/* 02098054 */ return;
|
|
}
|
|
|
|
// fn_02097F8C @ 0x2097f8c
|
|
void Gambit_fn_02097F8C(CPUState* cpu) {
|
|
L_02097F8C: ; // 0x2097f8c
|
|
/* 02097F8C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097F90 */ goto L_02098058;
|
|
L_02098058: ; // 0x2098058
|
|
/* 02098058 */ return;
|
|
}
|
|
|
|
// fn_02097F94 @ 0x2097f94
|
|
void Gambit_fn_02097F94(CPUState* cpu) {
|
|
L_02097F94: ; // 0x2097f94
|
|
/* 02097F94 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097F98 */ goto L_0209805C;
|
|
L_0209805C: ; // 0x209805c
|
|
/* 0209805C */ cpu->r[3] = 0x00000001u;
|
|
/* 02098060 */ return;
|
|
}
|
|
|
|
// fn_02097F9C @ 0x2097f9c
|
|
void Gambit_fn_02097F9C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097F9C: ; // 0x2097f9c
|
|
/* 02097F9C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097FA0 */ goto L_02098064;
|
|
L_02098064: ; // 0x2098064
|
|
/* 02098064 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02098064 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02098068 */ return;
|
|
}
|
|
|
|
// fn_02097FA4 @ 0x2097fa4
|
|
void Gambit_fn_02097FA4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097FA4: ; // 0x2097fa4
|
|
/* 02097FA4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097FA8 */ goto L_02098074;
|
|
L_02098074: ; // 0x2098074
|
|
/* 02098074 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02098074 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02098078 */ return;
|
|
}
|
|
|
|
// fn_02097FAC @ 0x2097fac
|
|
void Gambit_fn_02097FAC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02097FAC: ; // 0x2097fac
|
|
/* 02097FAC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02097FB0 */ goto L_0209807C;
|
|
L_0209807C: ; // 0x209807c
|
|
/* 0209807C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209807C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098080 */ return;
|
|
}
|
|
|
|
// fn_02097FB4 @ 0x2097fb4
|
|
void Gambit_fn_02097FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02097FB4: ; // 0x2097fb4
|
|
/* 02097FB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02097FB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02097FB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097FB8 */ cpu->r[1] = _t0;
|
|
/* 02097FBC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02097FBC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02097FC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02097FC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02097FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02097FC8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02097FCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097FCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097FD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097FD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02097FD0 */ if (_t5) goto L_02097FD4; else goto L_02097FE4;
|
|
L_02097FD4: ; // 0x2097fd4
|
|
/* 02097FD4 */ cpu->r[3] = 0x00000034u;
|
|
/* 02097FD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02097FDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02097FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02097FE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097FE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02097FE0 */ if (_t7) goto L_02098030; else goto L_02097FE4;
|
|
L_02097FE4: ; // 0x2097fe4
|
|
/* 02097FE4 */ cpu->r[4] = 0x10010000u;
|
|
/* 02097FE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02097FEC */ cpu->r[5] = 0x00000020u;
|
|
/* 02097FF0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF418u;
|
|
/* 02097FF4 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 02097FF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097FFC */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02097FFC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02098000 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098004 */ cpu->r[0] = cpu->r[0] + 0xFFFFF42Cu;
|
|
/* 02098008 */ cpu->r[11] = cpu->r[11] + 0xFFFFF4A4u;
|
|
/* 0209800C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0209800C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02098010 */ cpu->r[0] = 0x00000000u;
|
|
/* 02098014 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098014 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02098018 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209801C */ _t11 = cpu->r[31] + 0x00000031u;
|
|
/* 0209801C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02098020 */ cpu->r[12] = cpu->r[12] + 0xFFFFF4B4u;
|
|
/* 02098024 */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 02098024 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02098028 */ _t13 = cpu->r[31] + 0x00000010u;
|
|
/* 02098028 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209802C */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0209802C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02098030: ; // 0x2098030
|
|
/* 02098030 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02098030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02098034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098038 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209803C */ cpu->lr = cpu->r[0];
|
|
/* 02098040 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02098044 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098048 */ return;
|
|
}
|
|
|
|
// fn_02097FB8 @ 0x2097fb8
|
|
void Gambit_fn_02097FB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02097FB8: ; // 0x2097fb8
|
|
/* 02097FB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02097FB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02097FB8 */ cpu->r[1] = _t0;
|
|
/* 02097FBC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02097FBC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02097FC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02097FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02097FC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02097FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02097FC8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02097FCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02097FCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02097FD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097FD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02097FD0 */ if (_t5) goto L_02097FD4; else goto L_02097FE4;
|
|
L_02097FD4: ; // 0x2097fd4
|
|
/* 02097FD4 */ cpu->r[3] = 0x00000034u;
|
|
/* 02097FD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02097FDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02097FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02097FE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02097FE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02097FE0 */ if (_t7) goto L_02098030; else goto L_02097FE4;
|
|
L_02097FE4: ; // 0x2097fe4
|
|
/* 02097FE4 */ cpu->r[4] = 0x10010000u;
|
|
/* 02097FE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02097FEC */ cpu->r[5] = 0x00000020u;
|
|
/* 02097FF0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF418u;
|
|
/* 02097FF4 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 02097FF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02097FFC */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02097FFC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02098000 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098004 */ cpu->r[0] = cpu->r[0] + 0xFFFFF42Cu;
|
|
/* 02098008 */ cpu->r[11] = cpu->r[11] + 0xFFFFF4A4u;
|
|
/* 0209800C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0209800C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02098010 */ cpu->r[0] = 0x00000000u;
|
|
/* 02098014 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098014 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02098018 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209801C */ _t11 = cpu->r[31] + 0x00000031u;
|
|
/* 0209801C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02098020 */ cpu->r[12] = cpu->r[12] + 0xFFFFF4B4u;
|
|
/* 02098024 */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 02098024 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02098028 */ _t13 = cpu->r[31] + 0x00000010u;
|
|
/* 02098028 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209802C */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0209802C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02098030: ; // 0x2098030
|
|
/* 02098030 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02098030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02098034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098038 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209803C */ cpu->lr = cpu->r[0];
|
|
/* 02098040 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02098044 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098048 */ return;
|
|
}
|
|
|
|
// fn_0209804C @ 0x209804c
|
|
void Gambit_fn_0209804C(CPUState* cpu) {
|
|
L_0209804C: ; // 0x209804c
|
|
/* 0209804C */ return;
|
|
}
|
|
|
|
// fn_02098050 @ 0x2098050
|
|
void Gambit_fn_02098050(CPUState* cpu) {
|
|
L_02098050: ; // 0x2098050
|
|
/* 02098050 */ return;
|
|
}
|
|
|
|
// fn_02098054 @ 0x2098054
|
|
void Gambit_fn_02098054(CPUState* cpu) {
|
|
L_02098054: ; // 0x2098054
|
|
/* 02098054 */ return;
|
|
}
|
|
|
|
// fn_02098058 @ 0x2098058
|
|
void Gambit_fn_02098058(CPUState* cpu) {
|
|
L_02098058: ; // 0x2098058
|
|
/* 02098058 */ return;
|
|
}
|
|
|
|
// fn_0209805C @ 0x209805c
|
|
void Gambit_fn_0209805C(CPUState* cpu) {
|
|
L_0209805C: ; // 0x209805c
|
|
/* 0209805C */ cpu->r[3] = 0x00000001u;
|
|
/* 02098060 */ return;
|
|
}
|
|
|
|
// fn_02098064 @ 0x2098064
|
|
void Gambit_fn_02098064(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098064: ; // 0x2098064
|
|
/* 02098064 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02098064 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02098068 */ return;
|
|
}
|
|
|
|
// fn_0209806C @ 0x209806c
|
|
void Gambit_fn_0209806C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209806C: ; // 0x209806c
|
|
/* 0209806C */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209806C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098070 */ return;
|
|
}
|
|
|
|
// fn_02098074 @ 0x2098074
|
|
void Gambit_fn_02098074(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098074: ; // 0x2098074
|
|
/* 02098074 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02098074 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02098078 */ return;
|
|
}
|
|
|
|
// fn_0209807C @ 0x209807c
|
|
void Gambit_fn_0209807C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209807C: ; // 0x209807c
|
|
/* 0209807C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209807C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098080 */ return;
|
|
}
|
|
|
|
// fn_02098084 @ 0x2098084
|
|
void Gambit_fn_02098084(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098084: ; // 0x2098084
|
|
/* 02098084 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02098084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098088 */ return;
|
|
}
|
|
|
|
// fn_0209808C @ 0x209808c
|
|
void Gambit_fn_0209808C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209808C: ; // 0x209808c
|
|
/* 0209808C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02098090 */ goto L_02098134;
|
|
L_02098134: ; // 0x2098134
|
|
/* 02098134 */ cpu->r[0] = cpu->lr;
|
|
/* 02098138 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098138 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098138 */ cpu->r[1] = _t0;
|
|
/* 0209813C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209813C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098140 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098140 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098144 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098148 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209814C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209814C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098150 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098150 */ if (_t5) goto L_020981C0; else goto L_02098154;
|
|
L_02098154: ; // 0x2098154
|
|
/* 02098154 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098158 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209815C */ cpu->r[0] = cpu->r[0] + 0xFFFFF728u;
|
|
/* 02098160 */ cpu->r[12] = cpu->r[12] + 0xFFFFF748u;
|
|
/* 02098164 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098164 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098168 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209816C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209816C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098170 */ cpu->r[11] = cpu->r[11] + 0xFFFFF738u;
|
|
/* 02098174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098178 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098178 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209817C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209817C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209817C */ if (_t10) goto L_020981B0; else goto L_02098180;
|
|
L_02098180: ; // 0x2098180
|
|
/* 02098180 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098184 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098188 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209818C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098190 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098194 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098194 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098198 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209819C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209819C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020981A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020981A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020981A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020981A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020981AC */ Gambit_fn_02068798(cpu);
|
|
L_020981B0: ; // 0x20981b0
|
|
/* 020981B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020981B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020981B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020981B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020981B4 */ if (_t15) goto L_020981C0; else goto L_020981B8;
|
|
L_020981B8: ; // 0x20981b8
|
|
/* 020981B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020981BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020981C0: ; // 0x20981c0
|
|
/* 020981C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020981C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020981C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020981C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020981C8 */ cpu->lr = cpu->r[0];
|
|
/* 020981CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020981CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020981D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020981D4 */ return;
|
|
}
|
|
|
|
// fn_02098094 @ 0x2098094
|
|
void Gambit_fn_02098094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02098094: ; // 0x2098094
|
|
/* 02098094 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098098 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209809C @ 0x209809c
|
|
void Gambit_fn_0209809C(CPUState* cpu) {
|
|
L_0209809C: ; // 0x209809c
|
|
/* 0209809C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020980A0 */ goto L_020981D8;
|
|
L_020981D8: ; // 0x20981d8
|
|
/* 020981D8 */ return;
|
|
}
|
|
|
|
// fn_020980A4 @ 0x20980a4
|
|
void Gambit_fn_020980A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020980A4: ; // 0x20980a4
|
|
/* 020980A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020980A8 */ goto L_020981DC;
|
|
L_020981DC: ; // 0x20981dc
|
|
/* 020981DC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020981DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020981E0 */ return;
|
|
}
|
|
|
|
// fn_020980AC @ 0x20980ac
|
|
void Gambit_fn_020980AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_020980AC: ; // 0x20980ac
|
|
/* 020980AC */ cpu->r[0] = cpu->lr;
|
|
/* 020980B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020980B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020980B0 */ cpu->r[1] = _t0;
|
|
/* 020980B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020980B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020980B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020980B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020980BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020980BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020980C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020980C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 020980C0 */ if (_t4) goto L_020980C4; else goto L_020980D4;
|
|
L_020980C4: ; // 0x20980c4
|
|
/* 020980C4 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 020980C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 020980CC */ cpu->r[31] = cpu->r[3];
|
|
/* 020980CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020980D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020980D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020980D0 */ if (_t6) goto L_0209811C; else goto L_020980D4;
|
|
L_020980D4: ; // 0x20980d4
|
|
/* 020980D4 */ cpu->r[4] = 0x10010000u;
|
|
/* 020980D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020980DC */ cpu->r[6] = 0x00000000u;
|
|
/* 020980E0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF53Cu;
|
|
/* 020980E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 020980E8 */ Gambit_fn_020B6F60(cpu);
|
|
/* 020980EC */ cpu->r[12] = 0x10010000u;
|
|
/* 020980F0 */ cpu->r[11] = 0x10010000u;
|
|
/* 020980F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF728u;
|
|
/* 020980F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020980FC */ cpu->r[11] = cpu->r[11] + 0xFFFFF548u;
|
|
/* 02098100 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098100 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098104 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098108 */ cpu->r[0] = cpu->r[0] + 0xFFFFF738u;
|
|
/* 0209810C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209810C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098110 */ cpu->r[12] = cpu->r[12] + 0xFFFFF748u;
|
|
/* 02098114 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098114 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02098118 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098118 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0209811C: ; // 0x209811c
|
|
/* 0209811C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209811C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02098120 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098124 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098128 */ cpu->lr = cpu->r[0];
|
|
/* 0209812C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098130 */ return;
|
|
}
|
|
|
|
// fn_020980B0 @ 0x20980b0
|
|
void Gambit_fn_020980B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_020980B0: ; // 0x20980b0
|
|
/* 020980B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020980B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020980B0 */ cpu->r[1] = _t0;
|
|
/* 020980B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020980B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020980B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020980B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020980BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020980BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020980C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020980C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 020980C0 */ if (_t4) goto L_020980C4; else goto L_020980D4;
|
|
L_020980C4: ; // 0x20980c4
|
|
/* 020980C4 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 020980C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 020980CC */ cpu->r[31] = cpu->r[3];
|
|
/* 020980CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020980D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020980D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020980D0 */ if (_t6) goto L_0209811C; else goto L_020980D4;
|
|
L_020980D4: ; // 0x20980d4
|
|
/* 020980D4 */ cpu->r[4] = 0x10010000u;
|
|
/* 020980D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020980DC */ cpu->r[6] = 0x00000000u;
|
|
/* 020980E0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF53Cu;
|
|
/* 020980E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 020980E8 */ Gambit_fn_020B6F60(cpu);
|
|
/* 020980EC */ cpu->r[12] = 0x10010000u;
|
|
/* 020980F0 */ cpu->r[11] = 0x10010000u;
|
|
/* 020980F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF728u;
|
|
/* 020980F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020980FC */ cpu->r[11] = cpu->r[11] + 0xFFFFF548u;
|
|
/* 02098100 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098100 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098104 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098108 */ cpu->r[0] = cpu->r[0] + 0xFFFFF738u;
|
|
/* 0209810C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209810C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098110 */ cpu->r[12] = cpu->r[12] + 0xFFFFF748u;
|
|
/* 02098114 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098114 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02098118 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098118 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0209811C: ; // 0x209811c
|
|
/* 0209811C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209811C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02098120 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098124 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098128 */ cpu->lr = cpu->r[0];
|
|
/* 0209812C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098130 */ return;
|
|
}
|
|
|
|
// fn_02098134 @ 0x2098134
|
|
void Gambit_fn_02098134(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098134: ; // 0x2098134
|
|
/* 02098134 */ cpu->r[0] = cpu->lr;
|
|
/* 02098138 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098138 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098138 */ cpu->r[1] = _t0;
|
|
/* 0209813C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209813C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098140 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098140 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098144 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098148 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209814C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209814C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098150 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098150 */ if (_t5) goto L_020981C0; else goto L_02098154;
|
|
L_02098154: ; // 0x2098154
|
|
/* 02098154 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098158 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209815C */ cpu->r[0] = cpu->r[0] + 0xFFFFF728u;
|
|
/* 02098160 */ cpu->r[12] = cpu->r[12] + 0xFFFFF748u;
|
|
/* 02098164 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098164 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098168 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209816C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209816C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098170 */ cpu->r[11] = cpu->r[11] + 0xFFFFF738u;
|
|
/* 02098174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098178 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098178 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209817C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209817C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209817C */ if (_t10) goto L_020981B0; else goto L_02098180;
|
|
L_02098180: ; // 0x2098180
|
|
/* 02098180 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098184 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098188 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209818C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098190 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098194 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098194 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098198 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209819C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209819C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020981A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020981A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020981A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020981A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020981AC */ Gambit_fn_02068798(cpu);
|
|
L_020981B0: ; // 0x20981b0
|
|
/* 020981B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020981B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020981B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020981B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020981B4 */ if (_t15) goto L_020981C0; else goto L_020981B8;
|
|
L_020981B8: ; // 0x20981b8
|
|
/* 020981B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020981BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020981C0: ; // 0x20981c0
|
|
/* 020981C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020981C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020981C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020981C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020981C8 */ cpu->lr = cpu->r[0];
|
|
/* 020981CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020981CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020981D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020981D4 */ return;
|
|
}
|
|
|
|
// fn_02098138 @ 0x2098138
|
|
void Gambit_fn_02098138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098138: ; // 0x2098138
|
|
/* 02098138 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098138 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098138 */ cpu->r[1] = _t0;
|
|
/* 0209813C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209813C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098140 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098140 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098144 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098148 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209814C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209814C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098150 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098150 */ if (_t5) goto L_020981C0; else goto L_02098154;
|
|
L_02098154: ; // 0x2098154
|
|
/* 02098154 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098158 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209815C */ cpu->r[0] = cpu->r[0] + 0xFFFFF728u;
|
|
/* 02098160 */ cpu->r[12] = cpu->r[12] + 0xFFFFF748u;
|
|
/* 02098164 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098164 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098168 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209816C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209816C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098170 */ cpu->r[11] = cpu->r[11] + 0xFFFFF738u;
|
|
/* 02098174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098178 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098178 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209817C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209817C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209817C */ if (_t10) goto L_020981B0; else goto L_02098180;
|
|
L_02098180: ; // 0x2098180
|
|
/* 02098180 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098184 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098188 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209818C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098190 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098194 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098194 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098198 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209819C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209819C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020981A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020981A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020981A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020981A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020981AC */ Gambit_fn_02068798(cpu);
|
|
L_020981B0: ; // 0x20981b0
|
|
/* 020981B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020981B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020981B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020981B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020981B4 */ if (_t15) goto L_020981C0; else goto L_020981B8;
|
|
L_020981B8: ; // 0x20981b8
|
|
/* 020981B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020981BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020981C0: ; // 0x20981c0
|
|
/* 020981C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020981C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020981C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020981C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020981C8 */ cpu->lr = cpu->r[0];
|
|
/* 020981CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020981CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020981D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020981D4 */ return;
|
|
}
|
|
|
|
// fn_020981D8 @ 0x20981d8
|
|
void Gambit_fn_020981D8(CPUState* cpu) {
|
|
L_020981D8: ; // 0x20981d8
|
|
/* 020981D8 */ return;
|
|
}
|
|
|
|
// fn_020981DC @ 0x20981dc
|
|
void Gambit_fn_020981DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020981DC: ; // 0x20981dc
|
|
/* 020981DC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020981DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020981E0 */ return;
|
|
}
|
|
|
|
// fn_020981E4 @ 0x20981e4
|
|
void Gambit_fn_020981E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020981E4: ; // 0x20981e4
|
|
/* 020981E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020981E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020981E8 */ return;
|
|
}
|
|
|
|
// fn_020981EC @ 0x20981ec
|
|
void Gambit_fn_020981EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020981EC: ; // 0x20981ec
|
|
/* 020981EC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 020981EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020981F0 */ return;
|
|
}
|
|
|
|
// fn_020981F4 @ 0x20981f4
|
|
void Gambit_fn_020981F4(CPUState* cpu) {
|
|
L_020981F4: ; // 0x20981f4
|
|
/* 020981F4 */ return;
|
|
}
|
|
|
|
// fn_020981F8 @ 0x20981f8
|
|
void Gambit_fn_020981F8(CPUState* cpu) {
|
|
L_020981F8: ; // 0x20981f8
|
|
/* 020981F8 */ return;
|
|
}
|
|
|
|
// fn_020981FC @ 0x20981fc
|
|
void Gambit_fn_020981FC(CPUState* cpu) {
|
|
L_020981FC: ; // 0x20981fc
|
|
/* 020981FC */ return;
|
|
}
|
|
|
|
// fn_02098200 @ 0x2098200
|
|
void Gambit_fn_02098200(CPUState* cpu) {
|
|
L_02098200: ; // 0x2098200
|
|
/* 02098200 */ return;
|
|
}
|
|
|
|
// fn_02098204 @ 0x2098204
|
|
void Gambit_fn_02098204(CPUState* cpu) {
|
|
L_02098204: ; // 0x2098204
|
|
/* 02098204 */ return;
|
|
}
|
|
|
|
// fn_02098208 @ 0x2098208
|
|
void Gambit_fn_02098208(CPUState* cpu) {
|
|
L_02098208: ; // 0x2098208
|
|
/* 02098208 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209820C */ return;
|
|
}
|
|
|
|
// fn_02098210 @ 0x2098210
|
|
void Gambit_fn_02098210(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02098210: ; // 0x2098210
|
|
/* 02098210 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02098210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098214 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02098214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02098218 */ cpu->ctr = cpu->r[0];
|
|
/* 0209821C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02098220 @ 0x2098220
|
|
void Gambit_fn_02098220(CPUState* cpu) {
|
|
L_02098220: ; // 0x2098220
|
|
/* 02098220 */ return;
|
|
}
|
|
|
|
// fn_02098224 @ 0x2098224
|
|
void Gambit_fn_02098224(CPUState* cpu) {
|
|
L_02098224: ; // 0x2098224
|
|
/* 02098224 */ cpu->r[3] = 0x00000000u;
|
|
/* 02098228 */ return;
|
|
}
|
|
|
|
// fn_0209822C @ 0x209822c
|
|
void Gambit_fn_0209822C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209822C: ; // 0x209822c
|
|
/* 0209822C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02098230 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02098230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098230 */ cpu->r[9] = _t0;
|
|
/* 02098234 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02098238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209823C */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02098240 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098240 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02098240 */ if (_t2) goto L_02098244; else goto L_02098258;
|
|
L_02098244: ; // 0x2098244
|
|
/* 02098244 */ cpu->r[7] = 0x10010000u;
|
|
/* 02098248 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209824C */ cpu->r[7] = cpu->r[7] + 0xFFFFF52Cu;
|
|
/* 02098250 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02098250 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098254 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02098254 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02098258: ; // 0x2098258
|
|
/* 02098258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209825C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209825C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209825C */ if (_t6) goto L_02098260; else goto L_02098268;
|
|
L_02098260: ; // 0x2098260
|
|
/* 02098260 */ cpu->r[3] = 0x00000001u;
|
|
/* 02098264 */ return;
|
|
L_02098268: ; // 0x2098268
|
|
/* 02098268 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209826C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0209826C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209826C */ cpu->r[7] = _t7;
|
|
/* 02098270 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02098274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02098278 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209827C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209827C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209827C */ if (_t9) goto L_02098280; else goto L_02098294;
|
|
L_02098280: ; // 0x2098280
|
|
/* 02098280 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098284 */ cpu->r[9] = 0x00000001u;
|
|
/* 02098288 */ cpu->r[0] = cpu->r[0] + 0xFFFFF51Cu;
|
|
/* 0209828C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0209828C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02098290 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02098290 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02098294: ; // 0x2098294
|
|
/* 02098294 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02098298 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0209829C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 020982A0 */ return;
|
|
}
|
|
|
|
// fn_020982A4 @ 0x20982a4
|
|
void Gambit_fn_020982A4(CPUState* cpu) {
|
|
L_020982A4: ; // 0x20982a4
|
|
/* 020982A4 */ return;
|
|
}
|
|
|
|
// fn_020982A8 @ 0x20982a8
|
|
void Gambit_fn_020982A8(CPUState* cpu) {
|
|
L_020982A8: ; // 0x20982a8
|
|
/* 020982A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 020982AC */ return;
|
|
}
|
|
|
|
// fn_020982B0 @ 0x20982b0
|
|
void Gambit_fn_020982B0(CPUState* cpu) {
|
|
L_020982B0: ; // 0x20982b0
|
|
/* 020982B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 020982B4 */ return;
|
|
}
|
|
|
|
// fn_020982B8 @ 0x20982b8
|
|
void Gambit_fn_020982B8(CPUState* cpu) {
|
|
L_020982B8: ; // 0x20982b8
|
|
/* 020982B8 */ return;
|
|
}
|
|
|
|
// fn_020982BC @ 0x20982bc
|
|
void Gambit_fn_020982BC(CPUState* cpu) {
|
|
L_020982BC: ; // 0x20982bc
|
|
/* 020982BC */ return;
|
|
}
|
|
|
|
// fn_020982C0 @ 0x20982c0
|
|
void Gambit_fn_020982C0(CPUState* cpu) {
|
|
L_020982C0: ; // 0x20982c0
|
|
/* 020982C0 */ return;
|
|
}
|
|
|
|
// fn_020982C4 @ 0x20982c4
|
|
void Gambit_fn_020982C4(CPUState* cpu) {
|
|
L_020982C4: ; // 0x20982c4
|
|
/* 020982C4 */ return;
|
|
}
|
|
|
|
// fn_020982C8 @ 0x20982c8
|
|
void Gambit_fn_020982C8(CPUState* cpu) {
|
|
L_020982C8: ; // 0x20982c8
|
|
/* 020982C8 */ return;
|
|
}
|
|
|
|
// fn_020982CC @ 0x20982cc
|
|
void Gambit_fn_020982CC(CPUState* cpu) {
|
|
L_020982CC: ; // 0x20982cc
|
|
/* 020982CC */ return;
|
|
}
|
|
|
|
// fn_020982D0 @ 0x20982d0
|
|
void Gambit_fn_020982D0(CPUState* cpu) {
|
|
L_020982D0: ; // 0x20982d0
|
|
/* 020982D0 */ return;
|
|
}
|
|
|
|
// fn_020982D4 @ 0x20982d4
|
|
void Gambit_fn_020982D4(CPUState* cpu) {
|
|
L_020982D4: ; // 0x20982d4
|
|
/* 020982D4 */ return;
|
|
}
|
|
|
|
// fn_020982D8 @ 0x20982d8
|
|
void Gambit_fn_020982D8(CPUState* cpu) {
|
|
L_020982D8: ; // 0x20982d8
|
|
/* 020982D8 */ return;
|
|
}
|
|
|
|
// fn_020982DC @ 0x20982dc
|
|
void Gambit_fn_020982DC(CPUState* cpu) {
|
|
L_020982DC: ; // 0x20982dc
|
|
/* 020982DC */ return;
|
|
}
|
|
|
|
// fn_020982E0 @ 0x20982e0
|
|
void Gambit_fn_020982E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_020982E0: ; // 0x20982e0
|
|
/* 020982E0 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 020982E4 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_020982E8 @ 0x20982e8
|
|
void Gambit_fn_020982E8(CPUState* cpu) {
|
|
L_020982E8: ; // 0x20982e8
|
|
/* 020982E8 */ return;
|
|
}
|
|
|
|
// fn_020982EC @ 0x20982ec
|
|
void Gambit_fn_020982EC(CPUState* cpu) {
|
|
L_020982EC: ; // 0x20982ec
|
|
/* 020982EC */ return;
|
|
}
|
|
|
|
// fn_020982F0 @ 0x20982f0
|
|
void Gambit_fn_020982F0(CPUState* cpu) {
|
|
L_020982F0: ; // 0x20982f0
|
|
/* 020982F0 */ return;
|
|
}
|
|
|
|
// fn_020982F4 @ 0x20982f4
|
|
void Gambit_fn_020982F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020982F4: ; // 0x20982f4
|
|
/* 020982F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 020982F8 */ goto L_020986A8;
|
|
L_020986A8: ; // 0x20986a8
|
|
/* 020986A8 */ cpu->r[0] = cpu->lr;
|
|
/* 020986AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020986AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020986AC */ cpu->r[1] = _t0;
|
|
/* 020986B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020986B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020986B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020986B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020986B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020986B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986BC */ cpu->r[31] = cpu->r[4];
|
|
/* 020986C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020986C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020986C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020986C4 */ if (_t5) goto L_02098734; else goto L_020986C8;
|
|
L_020986C8: ; // 0x20986c8
|
|
/* 020986C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986CC */ cpu->r[12] = 0x10010000u;
|
|
/* 020986D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA3Cu;
|
|
/* 020986D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA5Cu;
|
|
/* 020986D8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 020986D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020986DC */ cpu->r[11] = 0x10010000u;
|
|
/* 020986E0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 020986E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020986E4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA4Cu;
|
|
/* 020986E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986EC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 020986EC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 020986F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020986F0 */ if (_t10) goto L_02098724; else goto L_020986F4;
|
|
L_020986F4: ; // 0x20986f4
|
|
/* 020986F4 */ cpu->r[10] = 0x10010000u;
|
|
/* 020986F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986FC */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02098700 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02098704 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098708 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098708 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209870C */ cpu->r[0] = 0x10010000u;
|
|
/* 02098710 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098710 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098714 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02098718 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209871C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209871C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098720 */ Gambit_fn_02068798(cpu);
|
|
L_02098724: ; // 0x2098724
|
|
/* 02098724 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098728 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098728 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098728 */ if (_t15) goto L_02098734; else goto L_0209872C;
|
|
L_0209872C: ; // 0x209872c
|
|
/* 0209872C */ cpu->r[3] = cpu->r[30];
|
|
/* 02098730 */ Gambit_fn_02801BB0(cpu);
|
|
L_02098734: ; // 0x2098734
|
|
/* 02098734 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098738 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209873C */ cpu->lr = cpu->r[0];
|
|
/* 02098740 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098744 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098748 */ return;
|
|
}
|
|
|
|
// fn_020982FC @ 0x20982fc
|
|
void Gambit_fn_020982FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_020982FC: ; // 0x20982fc
|
|
/* 020982FC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098300 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02098304 @ 0x2098304
|
|
void Gambit_fn_02098304(CPUState* cpu) {
|
|
L_02098304: ; // 0x2098304
|
|
/* 02098304 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098308 */ goto L_0209874C;
|
|
L_0209874C: ; // 0x209874c
|
|
/* 0209874C */ return;
|
|
}
|
|
|
|
// fn_0209830C @ 0x209830c
|
|
void Gambit_fn_0209830C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209830C: ; // 0x209830c
|
|
/* 0209830C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098310 */ goto L_02098750;
|
|
L_02098750: ; // 0x2098750
|
|
/* 02098750 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098754 */ return;
|
|
}
|
|
|
|
// fn_02098314 @ 0x2098314
|
|
void Gambit_fn_02098314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02098314: ; // 0x2098314
|
|
/* 02098314 */ cpu->r[0] = cpu->lr;
|
|
/* 02098318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098318 */ cpu->r[1] = _t0;
|
|
/* 0209831C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209831C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098320 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098324 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098328 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098328 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098328 */ if (_t4) goto L_0209832C; else goto L_0209833C;
|
|
L_0209832C: ; // 0x209832c
|
|
/* 0209832C */ cpu->r[3] = 0x00000224u;
|
|
/* 02098330 */ Gambit_fn_02801A78(cpu);
|
|
/* 02098334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098338 */ if (_t6) goto L_02098390; else goto L_0209833C;
|
|
L_0209833C: ; // 0x209833c
|
|
/* 0209833C */ cpu->r[4] = 0x10010000u;
|
|
/* 02098340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098344 */ cpu->r[5] = 0x00000000u;
|
|
/* 02098348 */ cpu->r[4] = cpu->r[4] + 0xFFFFF818u;
|
|
/* 0209834C */ Gambit_fn_020B5C38(cpu);
|
|
/* 02098350 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098354 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098358 */ cpu->r[12] = cpu->r[12] + 0xFFFFF86Cu;
|
|
/* 0209835C */ cpu->r[11] = cpu->r[11] + 0xFFFFFA4Cu;
|
|
/* 02098360 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098364 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02098364 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098368 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209836C */ cpu->r[0] = cpu->r[0] + 0xFFFFFA3Cu;
|
|
/* 02098370 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098370 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098374 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA5Cu;
|
|
/* 02098378 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098378 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0209837C */ cpu->r[0] = 0x00000000u;
|
|
/* 02098380 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098380 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02098384 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 02098384 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098388 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 02098388 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 0209838C */ _t13 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209838C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02098390: ; // 0x2098390
|
|
/* 02098390 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02098390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098394 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098398 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209839C */ cpu->lr = cpu->r[0];
|
|
/* 020983A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020983A4 */ return;
|
|
}
|
|
|
|
// fn_02098318 @ 0x2098318
|
|
void Gambit_fn_02098318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02098318: ; // 0x2098318
|
|
/* 02098318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098318 */ cpu->r[1] = _t0;
|
|
/* 0209831C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209831C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098320 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098324 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098328 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098328 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098328 */ if (_t4) goto L_0209832C; else goto L_0209833C;
|
|
L_0209832C: ; // 0x209832c
|
|
/* 0209832C */ cpu->r[3] = 0x00000224u;
|
|
/* 02098330 */ Gambit_fn_02801A78(cpu);
|
|
/* 02098334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098338 */ if (_t6) goto L_02098390; else goto L_0209833C;
|
|
L_0209833C: ; // 0x209833c
|
|
/* 0209833C */ cpu->r[4] = 0x10010000u;
|
|
/* 02098340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098344 */ cpu->r[5] = 0x00000000u;
|
|
/* 02098348 */ cpu->r[4] = cpu->r[4] + 0xFFFFF818u;
|
|
/* 0209834C */ Gambit_fn_020B5C38(cpu);
|
|
/* 02098350 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098354 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098358 */ cpu->r[12] = cpu->r[12] + 0xFFFFF86Cu;
|
|
/* 0209835C */ cpu->r[11] = cpu->r[11] + 0xFFFFFA4Cu;
|
|
/* 02098360 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098364 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02098364 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098368 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209836C */ cpu->r[0] = cpu->r[0] + 0xFFFFFA3Cu;
|
|
/* 02098370 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098370 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098374 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA5Cu;
|
|
/* 02098378 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098378 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0209837C */ cpu->r[0] = 0x00000000u;
|
|
/* 02098380 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098380 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02098384 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 02098384 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098388 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 02098388 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 0209838C */ _t13 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209838C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02098390: ; // 0x2098390
|
|
/* 02098390 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02098390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098394 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098398 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209839C */ cpu->lr = cpu->r[0];
|
|
/* 020983A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020983A4 */ return;
|
|
}
|
|
|
|
// fn_020983A8 @ 0x20983a8
|
|
void Gambit_fn_020983A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_020983A8: ; // 0x20983a8
|
|
/* 020983A8 */ _t0 = cpu->r[3] + 0x00000118u;
|
|
/* 020983A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020983AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 020983AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020983B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020983B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 020983B0 */ if (_t2) goto L_020983B4; else goto L_020983BC;
|
|
L_020983B4: ; // 0x20983b4
|
|
/* 020983B4 */ cpu->r[12] = 0x00000000u;
|
|
/* 020983B8 */ _t3 = cpu->r[3] + 0x00000220u;
|
|
/* 020983B8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
L_020983BC: ; // 0x20983bc
|
|
/* 020983BC */ goto L_020B6458;
|
|
L_020B6458: ; // 0x20b6458
|
|
/* 020B6458 */ cpu->r[0] = cpu->lr;
|
|
/* 020B645C */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020B645C */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 020B645C */ cpu->r[1] = _t4;
|
|
/* 020B6460 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6460 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020B6464 */ cpu->r[31] = cpu->r[3];
|
|
/* 020B6468 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 020B646C */ cpu->r[4] = 0x00000000u;
|
|
/* 020B6470 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6470 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020B6474 */ Gambit_fn_0208A248(cpu);
|
|
/* 020B6478 */ cpu->r[3] = cpu->r[31];
|
|
/* 020B647C */ Gambit_fn_0206A310(cpu);
|
|
/* 020B6480 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020B6484 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020B6488 */ cpu->lr = cpu->r[0];
|
|
/* 020B648C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B6490 */ return;
|
|
}
|
|
|
|
// fn_020983DC @ 0x20983dc
|
|
void Gambit_fn_020983DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_020983DC: ; // 0x20983dc
|
|
/* 020983DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020983DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020983DC */ cpu->r[1] = _t0;
|
|
/* 020983E0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 020983E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020983E4 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020983E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020983E8 */ cpu->ctr = cpu->r[0];
|
|
/* 020983EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020983F0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020983F4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020983F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020983F8 */ cpu->lr = cpu->r[0];
|
|
/* 020983FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02098400 */ return;
|
|
}
|
|
|
|
// fn_0209840C @ 0x209840c
|
|
void Gambit_fn_0209840C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209840C: ; // 0x209840c
|
|
/* 0209840C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209840C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209840C */ cpu->r[1] = _t0;
|
|
/* 02098410 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02098410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02098414 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02098414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02098418 */ cpu->ctr = cpu->r[0];
|
|
/* 0209841C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098420 */ Gambit_fn_020DACA4(cpu);
|
|
/* 02098424 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098428 */ cpu->lr = cpu->r[0];
|
|
/* 0209842C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02098430 */ return;
|
|
}
|
|
|
|
// fn_02098434 @ 0x2098434
|
|
void Gambit_fn_02098434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02098434: ; // 0x2098434
|
|
/* 02098434 */ cpu->r[0] = cpu->lr;
|
|
/* 02098438 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098438 */ cpu->r[1] = _t0;
|
|
/* 0209843C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209843C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098440 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02098444 */ cpu->r[12] = cpu->r[12] + 0xFFFFD924u;
|
|
/* 02098448 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209844C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209844C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098450 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02098454 */ _t3 = cpu->r[31] + 0x00000218u;
|
|
/* 02098454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098458 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209845C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02098460 */ Gambit_fn_020A77B8(cpu);
|
|
/* 02098464 */ _t4 = cpu->r[31] + 0x00000218u;
|
|
/* 02098464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098468 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0209846C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02098470 */ cpu->lr = cpu->r[0];
|
|
/* 02098474 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02098478 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209847C */ return;
|
|
}
|
|
|
|
// fn_02098438 @ 0x2098438
|
|
void Gambit_fn_02098438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02098438: ; // 0x2098438
|
|
/* 02098438 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098438 */ cpu->r[1] = _t0;
|
|
/* 0209843C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209843C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098440 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02098444 */ cpu->r[12] = cpu->r[12] + 0xFFFFD924u;
|
|
/* 02098448 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209844C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209844C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098450 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02098454 */ _t3 = cpu->r[31] + 0x00000218u;
|
|
/* 02098454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098458 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209845C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02098460 */ Gambit_fn_020A77B8(cpu);
|
|
/* 02098464 */ _t4 = cpu->r[31] + 0x00000218u;
|
|
/* 02098464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098468 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0209846C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02098470 */ cpu->lr = cpu->r[0];
|
|
/* 02098474 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02098478 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209847C */ return;
|
|
}
|
|
|
|
// fn_02098480 @ 0x2098480
|
|
void Gambit_fn_02098480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_020983D4: ; // 0x20983d4
|
|
/* 020983D4 */ cpu->r[0] = cpu->lr;
|
|
/* 020983D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 020983D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 020983DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020983DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020983DC */ cpu->r[1] = _t1;
|
|
/* 020983E0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 020983E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020983E4 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020983E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020983E8 */ cpu->ctr = cpu->r[0];
|
|
/* 020983EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020983F0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020983F4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020983F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020983F8 */ cpu->lr = cpu->r[0];
|
|
/* 020983FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02098400 */ return;
|
|
L_02098480: ; // 0x2098480
|
|
/* 02098480 */ _t5 = cpu->r[3] + 0x00000220u;
|
|
/* 02098480 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02098484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098488 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098488 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02098488 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02098488 */ goto L_0209848C;
|
|
L_0209848C: ; // 0x209848c
|
|
/* 0209848C */ goto L_020983D4;
|
|
}
|
|
|
|
// fn_02098490 @ 0x2098490
|
|
void Gambit_fn_02098490(CPUState* cpu) {
|
|
uint32_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_02098490: ; // 0x2098490
|
|
/* 02098490 */ cpu->r[0] = cpu->lr;
|
|
/* 02098494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098494 */ cpu->r[1] = _t0;
|
|
/* 02098498 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02098498 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209849C */ cpu->r[12] = 0x10010000u;
|
|
/* 020984A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020984A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020984A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF828u;
|
|
/* 020984A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020984AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020984AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020984B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 020984B4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 020984B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 020984B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7D0u;
|
|
/* 020984BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 020984C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020984C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020984C4 */ Gambit_fn_026D86C0(cpu);
|
|
/* 020984C8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 020984CC */ _t6 = cpu->r[11] + 0xFFFFEDBCu;
|
|
/* 020984CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020984CC */ cpu->r[11] = _t6;
|
|
/* 020984D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020984D4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 020984D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020984DC */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 020984E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020984E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020984E0 */ if (_t8) goto L_020984E4; else goto L_020984F8;
|
|
L_020984E4: ; // 0x20984e4
|
|
/* 020984E4 */ cpu->r[8] = 0x10010000u;
|
|
/* 020984E8 */ cpu->r[7] = 0x00000001u;
|
|
/* 020984EC */ cpu->r[8] = cpu->r[8] + 0xFFFFF7F8u;
|
|
/* 020984F0 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 020984F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020984F4 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 020984F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_020984F8: ; // 0x20984f8
|
|
/* 020984F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020984FC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020984FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 020984FC */ if (_t12) goto L_0209851C; else goto L_02098500;
|
|
L_02098500: ; // 0x2098500
|
|
/* 02098500 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02098500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02098504 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02098504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098508 */ cpu->ctr = cpu->r[0];
|
|
/* 0209850C */ cpu->r[3] = cpu->r[31];
|
|
/* 02098510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02098518 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098518 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02098518 */ if (_t16) goto L_0209851C; else goto L_02098520;
|
|
L_0209851C: ; // 0x209851c
|
|
/* 0209851C */ cpu->r[31] = 0x00000000u;
|
|
L_02098520: ; // 0x2098520
|
|
/* 02098520 */ _t17 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02098520 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02098524 */ cpu->r[12] = 0x00000001u;
|
|
/* 02098528 */ _t18 = cpu->r[31] + 0x000001B7u;
|
|
/* 02098528 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 0209852C */ _t19 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0209852C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02098530 */ cpu->r[4] = 0x00000002u;
|
|
/* 02098534 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02098538 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209853C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209853C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02098540 */ cpu->lr = cpu->r[0];
|
|
/* 02098544 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02098544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02098548 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209854C */ return;
|
|
}
|
|
|
|
// fn_02098494 @ 0x2098494
|
|
void Gambit_fn_02098494(CPUState* cpu) {
|
|
uint32_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_02098494: ; // 0x2098494
|
|
/* 02098494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098494 */ cpu->r[1] = _t0;
|
|
/* 02098498 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02098498 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209849C */ cpu->r[12] = 0x10010000u;
|
|
/* 020984A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020984A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020984A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF828u;
|
|
/* 020984A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020984AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020984AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020984B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 020984B4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 020984B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 020984B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7D0u;
|
|
/* 020984BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 020984C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020984C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020984C4 */ Gambit_fn_026D86C0(cpu);
|
|
/* 020984C8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 020984CC */ _t6 = cpu->r[11] + 0xFFFFEDBCu;
|
|
/* 020984CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020984CC */ cpu->r[11] = _t6;
|
|
/* 020984D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020984D4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 020984D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020984DC */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 020984E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020984E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020984E0 */ if (_t8) goto L_020984E4; else goto L_020984F8;
|
|
L_020984E4: ; // 0x20984e4
|
|
/* 020984E4 */ cpu->r[8] = 0x10010000u;
|
|
/* 020984E8 */ cpu->r[7] = 0x00000001u;
|
|
/* 020984EC */ cpu->r[8] = cpu->r[8] + 0xFFFFF7F8u;
|
|
/* 020984F0 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 020984F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020984F4 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 020984F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_020984F8: ; // 0x20984f8
|
|
/* 020984F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020984FC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020984FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 020984FC */ if (_t12) goto L_0209851C; else goto L_02098500;
|
|
L_02098500: ; // 0x2098500
|
|
/* 02098500 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02098500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02098504 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02098504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098508 */ cpu->ctr = cpu->r[0];
|
|
/* 0209850C */ cpu->r[3] = cpu->r[31];
|
|
/* 02098510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02098518 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098518 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02098518 */ if (_t16) goto L_0209851C; else goto L_02098520;
|
|
L_0209851C: ; // 0x209851c
|
|
/* 0209851C */ cpu->r[31] = 0x00000000u;
|
|
L_02098520: ; // 0x2098520
|
|
/* 02098520 */ _t17 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02098520 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02098524 */ cpu->r[12] = 0x00000001u;
|
|
/* 02098528 */ _t18 = cpu->r[31] + 0x000001B7u;
|
|
/* 02098528 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 0209852C */ _t19 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0209852C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02098530 */ cpu->r[4] = 0x00000002u;
|
|
/* 02098534 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02098538 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209853C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209853C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02098540 */ cpu->lr = cpu->r[0];
|
|
/* 02098544 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02098544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02098548 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209854C */ return;
|
|
}
|
|
|
|
// fn_02098550 @ 0x2098550
|
|
void Gambit_fn_02098550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02098550: ; // 0x2098550
|
|
/* 02098550 */ cpu->r[0] = cpu->lr;
|
|
/* 02098554 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098554 */ cpu->r[1] = _t0;
|
|
/* 02098558 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02098558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209855C */ cpu->r[31] = cpu->r[3];
|
|
/* 02098560 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098564 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098568 */ cpu->r[12] = cpu->r[12] + 0xFFFFF838u;
|
|
/* 0209856C */ cpu->r[3] = 0x00000000u;
|
|
/* 02098570 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098570 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098574 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098578 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02098578 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209857C */ cpu->r[0] = cpu->r[0] + 0xFFFFF7D0u;
|
|
/* 02098580 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02098584 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098584 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02098588 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209858C */ _t5 = cpu->r[31] + 0x00000218u;
|
|
/* 0209858C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02098590 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02098594 */ cpu->lr = cpu->r[0];
|
|
/* 02098598 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02098598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209859C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020985A0 */ return;
|
|
}
|
|
|
|
// fn_02098554 @ 0x2098554
|
|
void Gambit_fn_02098554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02098554: ; // 0x2098554
|
|
/* 02098554 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098554 */ cpu->r[1] = _t0;
|
|
/* 02098558 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02098558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209855C */ cpu->r[31] = cpu->r[3];
|
|
/* 02098560 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098564 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098568 */ cpu->r[12] = cpu->r[12] + 0xFFFFF838u;
|
|
/* 0209856C */ cpu->r[3] = 0x00000000u;
|
|
/* 02098570 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098570 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098574 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098578 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02098578 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209857C */ cpu->r[0] = cpu->r[0] + 0xFFFFF7D0u;
|
|
/* 02098580 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02098584 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098584 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02098588 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209858C */ _t5 = cpu->r[31] + 0x00000218u;
|
|
/* 0209858C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02098590 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02098590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02098594 */ cpu->lr = cpu->r[0];
|
|
/* 02098598 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02098598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209859C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020985A0 */ return;
|
|
}
|
|
|
|
// fn_020985A4 @ 0x20985a4
|
|
void Gambit_fn_020985A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_020985A4: ; // 0x20985a4
|
|
/* 020985A4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 020985A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020985A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020985A8 */ cpu->r[1] = _t0;
|
|
/* 020985AC */ cpu->r[10] = 0x101E0000u;
|
|
/* 020985B0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 020985B4 */ _t1 = cpu->r[10] + 0xFFFFD908u;
|
|
/* 020985B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
|
|
/* 020985B4 */ cpu->r[10] = _t1;
|
|
/* 020985B8 */ cpu->r[7] = 0xFFFFFFFDu;
|
|
/* 020985BC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 020985BC */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 020985C0 */ cpu->r[10] = 0x101E0000u;
|
|
/* 020985C4 */ _t3 = cpu->r[12] + 0xFFFFD8F8u;
|
|
/* 020985C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 020985C4 */ cpu->r[12] = _t3;
|
|
/* 020985C8 */ cpu->r[10] = cpu->r[10] + 0xFFFFD918u;
|
|
/* 020985CC */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 020985CC */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 020985D0 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 020985D4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020985D8 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 020985D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 020985DC */ _t6 = cpu->r[11] + 0xFFFFD900u;
|
|
/* 020985DC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 020985DC */ cpu->r[11] = _t6;
|
|
/* 020985E0 */ cpu->r[12] = 0x00000002u;
|
|
/* 020985E4 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 020985E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 020985E8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020985EC */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 020985EC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 020985F0 */ cpu->r[5] = 0x101E0000u;
|
|
/* 020985F4 */ _t9 = cpu->r[11] + 0xFFFFD910u;
|
|
/* 020985F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020985F4 */ cpu->r[11] = _t9;
|
|
/* 020985F8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD924u;
|
|
/* 020985FC */ cpu->r[8] = 0x10010000u;
|
|
/* 02098600 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02098600 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02098604 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098608 */ cpu->r[8] = cpu->r[8] + 0xFFFFF7D0u;
|
|
/* 0209860C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209860C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02098610 */ cpu->r[11] = cpu->r[11] + 0xFFFFF850u;
|
|
/* 02098614 */ _t12 = cpu->r[5] + 0x00000004u;
|
|
/* 02098614 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02098618 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 02098618 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209861C */ cpu->r[11] = 0x10010000u;
|
|
/* 02098620 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02098620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098624 */ cpu->r[11] = cpu->r[11] + 0xFFFFF854u;
|
|
/* 02098628 */ _t15 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02098628 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0209862C */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 0209862C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02098630 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098634 */ _t17 = cpu->r[5] + 0x00000014u;
|
|
/* 02098634 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02098638 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 0209863C */ cpu->r[12] = 0x10010000u;
|
|
/* 02098640 */ _t18 = cpu->r[5] + 0x00000010u;
|
|
/* 02098640 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02098644 */ cpu->r[12] = cpu->r[12] + 0xFFFFF85Cu;
|
|
/* 02098648 */ _t19 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02098648 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 0209864C */ _t20 = cpu->r[5] + 0x00000018u;
|
|
/* 0209864C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02098650 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098654 */ _t21 = cpu->r[5] + 0x00000024u;
|
|
/* 02098654 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02098658 */ cpu->r[12] = cpu->r[12] + 0xFFFFF860u;
|
|
/* 0209865C */ cpu->r[11] = 0x10010000u;
|
|
/* 02098660 */ _t22 = cpu->r[5] + 0x00000020u;
|
|
/* 02098660 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02098664 */ cpu->r[11] = cpu->r[11] + 0xFFFFF864u;
|
|
/* 02098668 */ _t23 = cpu->r[5] + 0x0000002Cu;
|
|
/* 02098668 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0209866C */ cpu->r[12] = 0x00000004u;
|
|
/* 02098670 */ _t24 = cpu->r[5] + 0x00000028u;
|
|
/* 02098670 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02098674 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02098678 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209867C */ _t25 = cpu->r[11] + 0xFFFFD920u;
|
|
/* 0209867C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02098680 */ cpu->r[7] = cpu->r[7] + 0xFFFFF868u;
|
|
/* 02098684 */ _t26 = cpu->r[5] + 0x00000034u;
|
|
/* 02098684 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02098688 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209868C */ _t27 = cpu->r[5] + 0x00000030u;
|
|
/* 0209868C */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02098690 */ return;
|
|
}
|
|
|
|
// fn_020985A8 @ 0x20985a8
|
|
void Gambit_fn_020985A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_020985A8: ; // 0x20985a8
|
|
/* 020985A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020985A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020985A8 */ cpu->r[1] = _t0;
|
|
/* 020985AC */ cpu->r[10] = 0x101E0000u;
|
|
/* 020985B0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 020985B4 */ _t1 = cpu->r[10] + 0xFFFFD908u;
|
|
/* 020985B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
|
|
/* 020985B4 */ cpu->r[10] = _t1;
|
|
/* 020985B8 */ cpu->r[7] = 0xFFFFFFFDu;
|
|
/* 020985BC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 020985BC */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 020985C0 */ cpu->r[10] = 0x101E0000u;
|
|
/* 020985C4 */ _t3 = cpu->r[12] + 0xFFFFD8F8u;
|
|
/* 020985C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 020985C4 */ cpu->r[12] = _t3;
|
|
/* 020985C8 */ cpu->r[10] = cpu->r[10] + 0xFFFFD918u;
|
|
/* 020985CC */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 020985CC */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 020985D0 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 020985D4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020985D8 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 020985D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 020985DC */ _t6 = cpu->r[11] + 0xFFFFD900u;
|
|
/* 020985DC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 020985DC */ cpu->r[11] = _t6;
|
|
/* 020985E0 */ cpu->r[12] = 0x00000002u;
|
|
/* 020985E4 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 020985E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 020985E8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 020985EC */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 020985EC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 020985F0 */ cpu->r[5] = 0x101E0000u;
|
|
/* 020985F4 */ _t9 = cpu->r[11] + 0xFFFFD910u;
|
|
/* 020985F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020985F4 */ cpu->r[11] = _t9;
|
|
/* 020985F8 */ cpu->r[5] = cpu->r[5] + 0xFFFFD924u;
|
|
/* 020985FC */ cpu->r[8] = 0x10010000u;
|
|
/* 02098600 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02098600 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02098604 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098608 */ cpu->r[8] = cpu->r[8] + 0xFFFFF7D0u;
|
|
/* 0209860C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209860C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02098610 */ cpu->r[11] = cpu->r[11] + 0xFFFFF850u;
|
|
/* 02098614 */ _t12 = cpu->r[5] + 0x00000004u;
|
|
/* 02098614 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02098618 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 02098618 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209861C */ cpu->r[11] = 0x10010000u;
|
|
/* 02098620 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02098620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098624 */ cpu->r[11] = cpu->r[11] + 0xFFFFF854u;
|
|
/* 02098628 */ _t15 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02098628 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0209862C */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 0209862C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02098630 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098634 */ _t17 = cpu->r[5] + 0x00000014u;
|
|
/* 02098634 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02098638 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 0209863C */ cpu->r[12] = 0x10010000u;
|
|
/* 02098640 */ _t18 = cpu->r[5] + 0x00000010u;
|
|
/* 02098640 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02098644 */ cpu->r[12] = cpu->r[12] + 0xFFFFF85Cu;
|
|
/* 02098648 */ _t19 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02098648 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 0209864C */ _t20 = cpu->r[5] + 0x00000018u;
|
|
/* 0209864C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02098650 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098654 */ _t21 = cpu->r[5] + 0x00000024u;
|
|
/* 02098654 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02098658 */ cpu->r[12] = cpu->r[12] + 0xFFFFF860u;
|
|
/* 0209865C */ cpu->r[11] = 0x10010000u;
|
|
/* 02098660 */ _t22 = cpu->r[5] + 0x00000020u;
|
|
/* 02098660 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02098664 */ cpu->r[11] = cpu->r[11] + 0xFFFFF864u;
|
|
/* 02098668 */ _t23 = cpu->r[5] + 0x0000002Cu;
|
|
/* 02098668 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0209866C */ cpu->r[12] = 0x00000004u;
|
|
/* 02098670 */ _t24 = cpu->r[5] + 0x00000028u;
|
|
/* 02098670 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02098674 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02098678 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209867C */ _t25 = cpu->r[11] + 0xFFFFD920u;
|
|
/* 0209867C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02098680 */ cpu->r[7] = cpu->r[7] + 0xFFFFF868u;
|
|
/* 02098684 */ _t26 = cpu->r[5] + 0x00000034u;
|
|
/* 02098684 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02098688 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209868C */ _t27 = cpu->r[5] + 0x00000030u;
|
|
/* 0209868C */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02098690 */ return;
|
|
}
|
|
|
|
// fn_02098694 @ 0x2098694
|
|
void Gambit_fn_02098694(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_02098694: ; // 0x2098694
|
|
/* 02098694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02098698 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098698 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02098698 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02098698 */ goto L_0209869C;
|
|
L_0209869C: ; // 0x209869c
|
|
/* 0209869C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209869C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020986A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020986A0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020986A0 */ goto L_020986A4;
|
|
L_020986A4: ; // 0x20986a4
|
|
/* 020986A4 */ 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_020986A8 @ 0x20986a8
|
|
void Gambit_fn_020986A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020986A8: ; // 0x20986a8
|
|
/* 020986A8 */ cpu->r[0] = cpu->lr;
|
|
/* 020986AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020986AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020986AC */ cpu->r[1] = _t0;
|
|
/* 020986B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020986B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020986B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020986B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020986B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020986B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986BC */ cpu->r[31] = cpu->r[4];
|
|
/* 020986C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020986C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020986C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020986C4 */ if (_t5) goto L_02098734; else goto L_020986C8;
|
|
L_020986C8: ; // 0x20986c8
|
|
/* 020986C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986CC */ cpu->r[12] = 0x10010000u;
|
|
/* 020986D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA3Cu;
|
|
/* 020986D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA5Cu;
|
|
/* 020986D8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 020986D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020986DC */ cpu->r[11] = 0x10010000u;
|
|
/* 020986E0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 020986E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020986E4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA4Cu;
|
|
/* 020986E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986EC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 020986EC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 020986F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020986F0 */ if (_t10) goto L_02098724; else goto L_020986F4;
|
|
L_020986F4: ; // 0x20986f4
|
|
/* 020986F4 */ cpu->r[10] = 0x10010000u;
|
|
/* 020986F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986FC */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02098700 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02098704 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098708 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098708 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209870C */ cpu->r[0] = 0x10010000u;
|
|
/* 02098710 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098710 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098714 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02098718 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209871C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209871C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098720 */ Gambit_fn_02068798(cpu);
|
|
L_02098724: ; // 0x2098724
|
|
/* 02098724 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098728 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098728 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098728 */ if (_t15) goto L_02098734; else goto L_0209872C;
|
|
L_0209872C: ; // 0x209872c
|
|
/* 0209872C */ cpu->r[3] = cpu->r[30];
|
|
/* 02098730 */ Gambit_fn_02801BB0(cpu);
|
|
L_02098734: ; // 0x2098734
|
|
/* 02098734 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098738 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209873C */ cpu->lr = cpu->r[0];
|
|
/* 02098740 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098744 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098748 */ return;
|
|
}
|
|
|
|
// fn_020986AC @ 0x20986ac
|
|
void Gambit_fn_020986AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020986AC: ; // 0x20986ac
|
|
/* 020986AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020986AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020986AC */ cpu->r[1] = _t0;
|
|
/* 020986B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020986B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020986B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020986B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020986B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020986B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986BC */ cpu->r[31] = cpu->r[4];
|
|
/* 020986C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020986C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020986C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020986C4 */ if (_t5) goto L_02098734; else goto L_020986C8;
|
|
L_020986C8: ; // 0x20986c8
|
|
/* 020986C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986CC */ cpu->r[12] = 0x10010000u;
|
|
/* 020986D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA3Cu;
|
|
/* 020986D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA5Cu;
|
|
/* 020986D8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 020986D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020986DC */ cpu->r[11] = 0x10010000u;
|
|
/* 020986E0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 020986E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020986E4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA4Cu;
|
|
/* 020986E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 020986EC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 020986EC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 020986F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020986F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020986F0 */ if (_t10) goto L_02098724; else goto L_020986F4;
|
|
L_020986F4: ; // 0x20986f4
|
|
/* 020986F4 */ cpu->r[10] = 0x10010000u;
|
|
/* 020986F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020986FC */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02098700 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02098704 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098708 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098708 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209870C */ cpu->r[0] = 0x10010000u;
|
|
/* 02098710 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098710 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098714 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02098718 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209871C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209871C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098720 */ Gambit_fn_02068798(cpu);
|
|
L_02098724: ; // 0x2098724
|
|
/* 02098724 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098728 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098728 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098728 */ if (_t15) goto L_02098734; else goto L_0209872C;
|
|
L_0209872C: ; // 0x209872c
|
|
/* 0209872C */ cpu->r[3] = cpu->r[30];
|
|
/* 02098730 */ Gambit_fn_02801BB0(cpu);
|
|
L_02098734: ; // 0x2098734
|
|
/* 02098734 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098738 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209873C */ cpu->lr = cpu->r[0];
|
|
/* 02098740 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098744 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098748 */ return;
|
|
}
|
|
|
|
// fn_0209874C @ 0x209874c
|
|
void Gambit_fn_0209874C(CPUState* cpu) {
|
|
L_0209874C: ; // 0x209874c
|
|
/* 0209874C */ return;
|
|
}
|
|
|
|
// fn_02098750 @ 0x2098750
|
|
void Gambit_fn_02098750(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098750: ; // 0x2098750
|
|
/* 02098750 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098754 */ return;
|
|
}
|
|
|
|
// fn_02098758 @ 0x2098758
|
|
void Gambit_fn_02098758(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098758: ; // 0x2098758
|
|
/* 02098758 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209875C */ return;
|
|
}
|
|
|
|
// fn_02098760 @ 0x2098760
|
|
void Gambit_fn_02098760(CPUState* cpu) {
|
|
L_02098760: ; // 0x2098760
|
|
/* 02098760 */ return;
|
|
}
|
|
|
|
// fn_02098764 @ 0x2098764
|
|
void Gambit_fn_02098764(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098764: ; // 0x2098764
|
|
/* 02098764 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02098764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098768 */ return;
|
|
}
|
|
|
|
// fn_0209876C @ 0x209876c
|
|
void Gambit_fn_0209876C(CPUState* cpu) {
|
|
L_0209876C: ; // 0x209876c
|
|
/* 0209876C */ return;
|
|
}
|
|
|
|
// fn_02098770 @ 0x2098770
|
|
void Gambit_fn_02098770(CPUState* cpu) {
|
|
L_02098770: ; // 0x2098770
|
|
/* 02098770 */ return;
|
|
}
|
|
|
|
// fn_02098774 @ 0x2098774
|
|
void Gambit_fn_02098774(CPUState* cpu) {
|
|
L_02098774: ; // 0x2098774
|
|
/* 02098774 */ return;
|
|
}
|
|
|
|
// fn_02098778 @ 0x2098778
|
|
void Gambit_fn_02098778(CPUState* cpu) {
|
|
L_02098778: ; // 0x2098778
|
|
/* 02098778 */ return;
|
|
}
|
|
|
|
// fn_0209877C @ 0x209877c
|
|
void Gambit_fn_0209877C(CPUState* cpu) {
|
|
L_0209877C: ; // 0x209877c
|
|
/* 0209877C */ return;
|
|
}
|
|
|
|
// fn_02098780 @ 0x2098780
|
|
void Gambit_fn_02098780(CPUState* cpu) {
|
|
L_02098780: ; // 0x2098780
|
|
/* 02098780 */ cpu->r[3] = 0x00000001u;
|
|
/* 02098784 */ return;
|
|
}
|
|
|
|
// fn_02098788 @ 0x2098788
|
|
void Gambit_fn_02098788(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02098788: ; // 0x2098788
|
|
/* 02098788 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02098788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209878C */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209878C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02098790 */ cpu->ctr = cpu->r[0];
|
|
/* 02098794 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02098798 @ 0x2098798
|
|
void Gambit_fn_02098798(CPUState* cpu) {
|
|
L_02098798: ; // 0x2098798
|
|
/* 02098798 */ return;
|
|
}
|
|
|
|
// fn_0209879C @ 0x209879c
|
|
void Gambit_fn_0209879C(CPUState* cpu) {
|
|
L_0209879C: ; // 0x209879c
|
|
/* 0209879C */ cpu->r[3] = 0x00000000u;
|
|
/* 020987A0 */ return;
|
|
}
|
|
|
|
// fn_020987A4 @ 0x20987a4
|
|
void Gambit_fn_020987A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_020987A4: ; // 0x20987a4
|
|
/* 020987A4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 020987A8 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 020987A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020987A8 */ cpu->r[9] = _t0;
|
|
/* 020987AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 020987B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020987B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 020987B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020987B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 020987B8 */ if (_t2) goto L_020987BC; else goto L_020987D0;
|
|
L_020987BC: ; // 0x20987bc
|
|
/* 020987BC */ cpu->r[7] = 0x10010000u;
|
|
/* 020987C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 020987C4 */ cpu->r[7] = cpu->r[7] + 0xFFFFF808u;
|
|
/* 020987C8 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 020987C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020987CC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 020987CC */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_020987D0: ; // 0x20987d0
|
|
/* 020987D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 020987D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020987D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020987D4 */ if (_t6) goto L_020987D8; else goto L_020987E0;
|
|
L_020987D8: ; // 0x20987d8
|
|
/* 020987D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 020987DC */ return;
|
|
L_020987E0: ; // 0x20987e0
|
|
/* 020987E0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 020987E4 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 020987E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020987E4 */ cpu->r[7] = _t7;
|
|
/* 020987E8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 020987EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 020987F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 020987F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020987F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020987F4 */ if (_t9) goto L_020987F8; else goto L_0209880C;
|
|
L_020987F8: ; // 0x20987f8
|
|
/* 020987F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020987FC */ cpu->r[9] = 0x00000001u;
|
|
/* 02098800 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7C0u;
|
|
/* 02098804 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02098804 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02098808 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02098808 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209880C: ; // 0x209880c
|
|
/* 0209880C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02098810 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02098814 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02098818 */ return;
|
|
}
|
|
|
|
// fn_0209881C @ 0x209881c
|
|
void Gambit_fn_0209881C(CPUState* cpu) {
|
|
L_0209881C: ; // 0x209881c
|
|
/* 0209881C */ return;
|
|
}
|
|
|
|
// fn_02098820 @ 0x2098820
|
|
void Gambit_fn_02098820(CPUState* cpu) {
|
|
L_02098820: ; // 0x2098820
|
|
/* 02098820 */ return;
|
|
}
|
|
|
|
// fn_02098824 @ 0x2098824
|
|
void Gambit_fn_02098824(CPUState* cpu) {
|
|
L_02098824: ; // 0x2098824
|
|
/* 02098824 */ cpu->r[3] = 0x00000000u;
|
|
/* 02098828 */ return;
|
|
}
|
|
|
|
// fn_0209882C @ 0x209882c
|
|
void Gambit_fn_0209882C(CPUState* cpu) {
|
|
L_0209882C: ; // 0x209882c
|
|
/* 0209882C */ cpu->r[3] = 0x00000000u;
|
|
/* 02098830 */ return;
|
|
}
|
|
|
|
// fn_02098834 @ 0x2098834
|
|
void Gambit_fn_02098834(CPUState* cpu) {
|
|
L_02098834: ; // 0x2098834
|
|
/* 02098834 */ return;
|
|
}
|
|
|
|
// fn_02098838 @ 0x2098838
|
|
void Gambit_fn_02098838(CPUState* cpu) {
|
|
L_02098838: ; // 0x2098838
|
|
/* 02098838 */ return;
|
|
}
|
|
|
|
// fn_0209883C @ 0x209883c
|
|
void Gambit_fn_0209883C(CPUState* cpu) {
|
|
L_0209883C: ; // 0x209883c
|
|
/* 0209883C */ return;
|
|
}
|
|
|
|
// fn_02098840 @ 0x2098840
|
|
void Gambit_fn_02098840(CPUState* cpu) {
|
|
L_02098840: ; // 0x2098840
|
|
/* 02098840 */ return;
|
|
}
|
|
|
|
// fn_02098844 @ 0x2098844
|
|
void Gambit_fn_02098844(CPUState* cpu) {
|
|
L_02098844: ; // 0x2098844
|
|
/* 02098844 */ return;
|
|
}
|
|
|
|
// fn_02098848 @ 0x2098848
|
|
void Gambit_fn_02098848(CPUState* cpu) {
|
|
L_02098848: ; // 0x2098848
|
|
/* 02098848 */ return;
|
|
}
|
|
|
|
// fn_0209884C @ 0x209884c
|
|
void Gambit_fn_0209884C(CPUState* cpu) {
|
|
L_0209884C: ; // 0x209884c
|
|
/* 0209884C */ return;
|
|
}
|
|
|
|
// fn_02098850 @ 0x2098850
|
|
void Gambit_fn_02098850(CPUState* cpu) {
|
|
L_02098850: ; // 0x2098850
|
|
/* 02098850 */ return;
|
|
}
|
|
|
|
// fn_02098854 @ 0x2098854
|
|
void Gambit_fn_02098854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0208A0C8: ; // 0x208a0c8
|
|
/* 0208A0C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0208A0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0208A0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0208A0CC */ cpu->r[1] = _t0;
|
|
/* 0208A0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0208A0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0208A0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0208A0DC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0208A0DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0208A0E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0208A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0208A0E8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0208A0E8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0208A0EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0208A0EC */ if (_t6) goto L_0208A114; else goto L_0208A0F0;
|
|
L_0208A0F0: ; // 0x208a0f0
|
|
/* 0208A0F0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0208A0F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0208A0F4 */ /* nop */
|
|
/* 0208A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0208A0FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0208A0FC */ if (_t9) goto L_0208A100; else goto L_0208A114;
|
|
L_0208A100: ; // 0x208a100
|
|
/* 0208A100 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0208A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0208A104 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0208A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0208A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0208A10C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0208A114: ; // 0x208a114
|
|
/* 0208A114 */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A118 */ Gambit_fn_0208A040(cpu);
|
|
/* 0208A11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A120 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0208A124 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0208A128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0208A12C */ cpu->lr = cpu->r[0];
|
|
/* 0208A130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0208A134 */ return;
|
|
L_02098854: ; // 0x2098854
|
|
/* 02098854 */ cpu->r[3] = cpu->r[3] + 0x000001E0u;
|
|
/* 02098858 */ goto L_0208A0C8;
|
|
}
|
|
|
|
// fn_0209885C @ 0x209885c
|
|
void Gambit_fn_0209885C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209885C: ; // 0x209885c
|
|
/* 0209885C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02098860 */ goto L_02098C94;
|
|
L_02098C94: ; // 0x2098c94
|
|
/* 02098C94 */ cpu->r[0] = cpu->lr;
|
|
/* 02098C98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098C98 */ cpu->r[1] = _t0;
|
|
/* 02098C9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098CA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098CA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098CAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098CB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098CB0 */ if (_t5) goto L_02098D20; else goto L_02098CB4;
|
|
L_02098CB4: ; // 0x2098cb4
|
|
/* 02098CB4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CB8 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098CBC */ cpu->r[0] = cpu->r[0] + 0xFFFFFD30u;
|
|
/* 02098CC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD50u;
|
|
/* 02098CC4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098CC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098CCC */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098CCC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098CD0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD40u;
|
|
/* 02098CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CD8 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098CDC */ if (_t10) goto L_02098D10; else goto L_02098CE0;
|
|
L_02098CE0: ; // 0x2098ce0
|
|
/* 02098CE0 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098CE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CE8 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02098CEC */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098CF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098CF4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098CF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CFC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CFC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098D00 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02098D04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098D08 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098D08 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098D0C */ Gambit_fn_02068798(cpu);
|
|
L_02098D10: ; // 0x2098d10
|
|
/* 02098D10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098D14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098D14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098D14 */ if (_t15) goto L_02098D20; else goto L_02098D18;
|
|
L_02098D18: ; // 0x2098d18
|
|
/* 02098D18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098D1C */ Gambit_fn_02801BB0(cpu);
|
|
L_02098D20: ; // 0x2098d20
|
|
/* 02098D20 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098D24 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098D24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02098D28 */ cpu->lr = cpu->r[0];
|
|
/* 02098D2C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098D30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098D34 */ return;
|
|
}
|
|
|
|
// fn_02098864 @ 0x2098864
|
|
void Gambit_fn_02098864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02098864: ; // 0x2098864
|
|
/* 02098864 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098868 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209886C @ 0x209886c
|
|
void Gambit_fn_0209886C(CPUState* cpu) {
|
|
L_0209886C: ; // 0x209886c
|
|
/* 0209886C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098870 */ goto L_02098D38;
|
|
L_02098D38: ; // 0x2098d38
|
|
/* 02098D38 */ return;
|
|
}
|
|
|
|
// fn_02098874 @ 0x2098874
|
|
void Gambit_fn_02098874(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098874: ; // 0x2098874
|
|
/* 02098874 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098878 */ goto L_02098D3C;
|
|
L_02098D3C: ; // 0x2098d3c
|
|
/* 02098D3C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D40 */ return;
|
|
}
|
|
|
|
// fn_0209887C @ 0x209887c
|
|
void Gambit_fn_0209887C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209887C: ; // 0x209887c
|
|
/* 0209887C */ cpu->r[0] = cpu->lr;
|
|
/* 02098880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098880 */ cpu->r[1] = _t0;
|
|
/* 02098884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209888C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209888C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098890 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098890 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098890 */ if (_t4) goto L_02098894; else goto L_020988A4;
|
|
L_02098894: ; // 0x2098894
|
|
/* 02098894 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 02098898 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209889C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020988A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020988A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020988A0 */ if (_t6) goto L_020988EC; else goto L_020988A4;
|
|
L_020988A4: ; // 0x20988a4
|
|
/* 020988A4 */ cpu->r[4] = 0x10010000u;
|
|
/* 020988A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020988AC */ cpu->r[6] = 0x00000000u;
|
|
/* 020988B0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFB0Cu;
|
|
/* 020988B4 */ cpu->r[5] = 0x00000001u;
|
|
/* 020988B8 */ Gambit_fn_020B6F60(cpu);
|
|
/* 020988BC */ cpu->r[12] = 0x10010000u;
|
|
/* 020988C0 */ cpu->r[11] = 0x10010000u;
|
|
/* 020988C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD30u;
|
|
/* 020988C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020988CC */ cpu->r[11] = cpu->r[11] + 0xFFFFFB50u;
|
|
/* 020988D0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 020988D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020988D4 */ cpu->r[12] = 0x10010000u;
|
|
/* 020988D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD40u;
|
|
/* 020988DC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 020988DC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 020988E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD50u;
|
|
/* 020988E4 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 020988E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 020988E8 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 020988E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_020988EC: ; // 0x20988ec
|
|
/* 020988EC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 020988EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020988F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020988F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020988F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020988F8 */ cpu->lr = cpu->r[0];
|
|
/* 020988FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098900 */ return;
|
|
}
|
|
|
|
// fn_02098880 @ 0x2098880
|
|
void Gambit_fn_02098880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02098880: ; // 0x2098880
|
|
/* 02098880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098880 */ cpu->r[1] = _t0;
|
|
/* 02098884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209888C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209888C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098890 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098890 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098890 */ if (_t4) goto L_02098894; else goto L_020988A4;
|
|
L_02098894: ; // 0x2098894
|
|
/* 02098894 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 02098898 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209889C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020988A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020988A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020988A0 */ if (_t6) goto L_020988EC; else goto L_020988A4;
|
|
L_020988A4: ; // 0x20988a4
|
|
/* 020988A4 */ cpu->r[4] = 0x10010000u;
|
|
/* 020988A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020988AC */ cpu->r[6] = 0x00000000u;
|
|
/* 020988B0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFB0Cu;
|
|
/* 020988B4 */ cpu->r[5] = 0x00000001u;
|
|
/* 020988B8 */ Gambit_fn_020B6F60(cpu);
|
|
/* 020988BC */ cpu->r[12] = 0x10010000u;
|
|
/* 020988C0 */ cpu->r[11] = 0x10010000u;
|
|
/* 020988C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD30u;
|
|
/* 020988C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 020988CC */ cpu->r[11] = cpu->r[11] + 0xFFFFFB50u;
|
|
/* 020988D0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 020988D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 020988D4 */ cpu->r[12] = 0x10010000u;
|
|
/* 020988D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD40u;
|
|
/* 020988DC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 020988DC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 020988E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD50u;
|
|
/* 020988E4 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 020988E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 020988E8 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 020988E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_020988EC: ; // 0x20988ec
|
|
/* 020988EC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 020988EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020988F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020988F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020988F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020988F8 */ cpu->lr = cpu->r[0];
|
|
/* 020988FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098900 */ return;
|
|
}
|
|
|
|
// fn_02098904 @ 0x2098904
|
|
void Gambit_fn_02098904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02098904: ; // 0x2098904
|
|
/* 02098904 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02098904 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098904 */ cpu->r[1] = _t0;
|
|
/* 02098908 */ /* nop */
|
|
/* 0209890C */ cpu->r[0] = cpu->lr;
|
|
/* 02098910 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02098910 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02098914 */ /* nop */
|
|
/* 02098918 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 02098918 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0209891C */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0209891C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098920 */ cpu->r[29] = 0x10010000u;
|
|
/* 02098924 */ cpu->r[28] = 0x10010000u;
|
|
/* 02098928 */ cpu->r[29] = cpu->r[29] + 0xFFFFFB30u;
|
|
/* 0209892C */ cpu->r[28] = cpu->r[28] + 0xFFFFFAE4u;
|
|
/* 02098930 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02098930 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02098934 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02098934 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02098938 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209893C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0209893C */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02098940 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02098944 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02098948 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02098948 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0209894C */ Gambit_fn_027ED060(cpu);
|
|
/* 02098950 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02098954 */ _t8 = cpu->r[12] + 0xFFFF9578u;
|
|
/* 02098954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02098958 */ cpu->r[8] = 0x10010000u;
|
|
/* 0209895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02098960 */ _t9 = cpu->r[8] + 0xFFFFFB18u;
|
|
/* 02098960 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02098964 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098964 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02098964 */ if (_t11) goto L_02098BD8; else goto L_02098968;
|
|
L_02098968: ; // 0x2098968
|
|
/* 02098968 */ Gambit_fn_027FADD4(cpu);
|
|
/* 0209896C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02098970 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098970 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02098970 */ if (_t13) goto L_02098BD8; else goto L_02098974;
|
|
L_02098974: ; // 0x2098974
|
|
/* 02098974 */ Gambit_fn_027FAD20(cpu);
|
|
/* 02098978 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098978 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0209897C */ cpu->r[9] = 0x10010000u;
|
|
/* 02098980 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02098980 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02098984 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB28u;
|
|
/* 02098988 */ cpu->r[7] = 0x00000000u;
|
|
/* 0209898C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209898C */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02098990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02098994 */ cpu->r[25] = 0x00000001u;
|
|
/* 02098998 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02098998 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0209899C */ Gambit_fn_02098D4C(cpu);
|
|
/* 020989A0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020989A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020989A4 */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 020989A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020989A8 */ cpu->ctr = cpu->r[11];
|
|
/* 020989AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020989B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020989B4 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020989B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020989B8 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 020989B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020989BC */ cpu->ctr = cpu->r[0];
|
|
/* 020989C0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 020989C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020989C4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 020989C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020989CC */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 020989CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 020989D0 */ cpu->r[26] = 0x00080000u;
|
|
/* 020989D4 */ cpu->r[27] = 0x10110000u;
|
|
/* 020989D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 020989DC */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 020989E0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020989E0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 020989E0 */ if (_t25) goto L_02098AA8; else goto L_020989E4;
|
|
L_020989E4: ; // 0x20989e4
|
|
/* 020989E4 */ _t26 = cpu->r[27] + 0x00007399u;
|
|
/* 020989E4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 020989E8 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 020989E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 020989EC */ cpu->ctr = cpu->r[26];
|
|
/* 020989F0 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 020989F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 020989F4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_020989F8: ; // 0x20989f8
|
|
/* 020989F8 */ _t29 = cpu->r[9] + 0x00000000u;
|
|
/* 020989F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 020989FC */ _t30 = cpu->r[10] + 0x00000001u;
|
|
/* 020989FC */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 020989FC */ cpu->r[10] = _t30;
|
|
/* 02098A00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02098A04 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098A04 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02098A04 */ if (_t32) goto L_02098A08; else goto L_02098A18;
|
|
L_02098A08: ; // 0x2098a08
|
|
/* 02098A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02098A0C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098A0C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02098A0C */ if (_t34) goto L_02098AA8; else goto L_02098A10;
|
|
L_02098A10: ; // 0x2098a10
|
|
/* 02098A10 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02098A14 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02098A14 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02098A14 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02098A14 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02098A14 */ if (_t37) goto L_020989F8; else goto L_02098A18;
|
|
L_02098A18: ; // 0x2098a18
|
|
/* 02098A18 */ cpu->r[7] = 0x10010000u;
|
|
/* 02098A1C */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02098A1C */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 02098A20 */ cpu->r[7] = cpu->r[7] + 0xFFFFFB44u;
|
|
/* 02098A24 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098A24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02098A28 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02098A28 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
/* 02098A2C */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 02098A2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02098A30 */ cpu->ctr = cpu->r[9];
|
|
/* 02098A34 */ cpu->r[7] = 0x00000001u;
|
|
/* 02098A38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02098A3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098A40 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098A40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02098A44 */ _t43 = cpu->r[10] + 0x00000014u;
|
|
/* 02098A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02098A48 */ cpu->ctr = cpu->r[0];
|
|
/* 02098A4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02098A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098A54 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02098A54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02098A58 */ _t45 = cpu->r[12] + 0x00000014u;
|
|
/* 02098A58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02098A5C */ cpu->ctr = cpu->r[5];
|
|
/* 02098A60 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02098A60 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02098A64 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02098A68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098A6C */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02098A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02098A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
|
|
/* 02098A74 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098A74 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02098A74 */ if (_t49) goto L_02098AA8; else goto L_02098A78;
|
|
L_02098A78: ; // 0x2098a78
|
|
/* 02098A78 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02098A78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02098A7C */ cpu->ctr = cpu->r[26];
|
|
/* 02098A80 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02098A84: ; // 0x2098a84
|
|
/* 02098A84 */ _t51 = cpu->r[5] + 0x00000000u;
|
|
/* 02098A84 */ cpu->r[7] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02098A88 */ _t52 = cpu->r[8] + 0x00000001u;
|
|
/* 02098A88 */ cpu->r[6] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02098A88 */ cpu->r[8] = _t52;
|
|
/* 02098A8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02098A90 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098A90 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02098A90 */ if (_t54) goto L_02098A94; else goto L_02098AA4;
|
|
L_02098A94: ; // 0x2098a94
|
|
/* 02098A94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02098A98 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098A98 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02098A98 */ if (_t56) goto L_02098AA8; else goto L_02098A9C;
|
|
L_02098A9C: ; // 0x2098a9c
|
|
/* 02098A9C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02098AA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02098AA0 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02098AA0 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 02098AA0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02098AA0 */ if (_t59) goto L_02098A84; else goto L_02098AA4;
|
|
L_02098AA4: ; // 0x2098aa4
|
|
/* 02098AA4 */ cpu->r[25] = 0x00000000u;
|
|
L_02098AA8: ; // 0x2098aa8
|
|
/* 02098AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02098AAC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098AAC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02098AAC */ if (_t61) goto L_02098B20; else goto L_02098AB0;
|
|
L_02098AB0: ; // 0x2098ab0
|
|
/* 02098AB0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02098AB4 */ _t62 = cpu->r[11] + 0x00001358u;
|
|
/* 02098AB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02098AB8 */ _t63 = cpu->r[11] + 0x00000238u;
|
|
/* 02098AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02098ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098AC0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098AC0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02098AC0 */ if (_t65) goto L_02098AC4; else goto L_02098AE8;
|
|
L_02098AC4: ; // 0x2098ac4
|
|
/* 02098AC4 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098AC8 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02098AC8 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 02098ACC */ cpu->r[3] = cpu->r[30];
|
|
/* 02098AD0 */ _t67 = cpu->r[12] + 0xFFFFFB1Cu;
|
|
/* 02098AD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02098AD4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02098AD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098ADC */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 02098ADC */ rbrew_write32(cpu->mem, _t68, cpu->r[29]);
|
|
/* 02098AE0 */ Gambit_fn_027EDA78(cpu);
|
|
/* 02098AE4 */ goto L_02098BF4;
|
|
L_02098AE8: ; // 0x2098ae8
|
|
/* 02098AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02098AEC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098AEC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02098AEC */ if (_t70) goto L_02098AF0; else goto L_02098B14;
|
|
L_02098AF0: ; // 0x2098af0
|
|
/* 02098AF0 */ cpu->r[9] = 0x10010000u;
|
|
/* 02098AF4 */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 02098AF4 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 02098AF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098AFC */ _t72 = cpu->r[9] + 0xFFFFFB20u;
|
|
/* 02098AFC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02098B00 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02098B04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098B08 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02098B08 */ rbrew_write32(cpu->mem, _t73, cpu->r[29]);
|
|
/* 02098B0C */ Gambit_fn_027EDA78(cpu);
|
|
/* 02098B10 */ goto L_02098BF4;
|
|
L_02098B14: ; // 0x2098b14
|
|
/* 02098B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02098B18 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098B18 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02098B18 */ if (_t75) goto L_02098B1C; else goto L_02098BD8;
|
|
L_02098B1C: ; // 0x2098b1c
|
|
/* 02098B1C */ goto L_02098BD0;
|
|
L_02098B20: ; // 0x2098b20
|
|
/* 02098B20 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098B24 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 02098B24 */ rbrew_write32(cpu->mem, _t76, cpu->r[28]);
|
|
/* 02098B28 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB38u;
|
|
/* 02098B2C */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098B2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02098B30 */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 02098B30 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02098B34 */ _t79 = cpu->r[10] + 0x00000014u;
|
|
/* 02098B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02098B38 */ cpu->ctr = cpu->r[0];
|
|
/* 02098B3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02098B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098B44 */ _t80 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098B44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02098B48 */ _t81 = cpu->r[5] + 0x00000014u;
|
|
/* 02098B48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02098B4C */ cpu->ctr = cpu->r[6];
|
|
/* 02098B50 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02098B54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098B58 */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 02098B58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02098B5C */ _t83 = cpu->r[7] + 0x00000014u;
|
|
/* 02098B5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02098B60 */ cpu->ctr = cpu->r[9];
|
|
/* 02098B64 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02098B64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02098B68 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02098B6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098B70 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02098B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02098B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02098B78 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098B78 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02098B78 */ if (_t87) goto L_02098BD0; else goto L_02098B7C;
|
|
L_02098B7C: ; // 0x2098b7c
|
|
/* 02098B7C */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02098B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02098B80 */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 02098B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02098B84 */ cpu->ctr = cpu->r[26];
|
|
/* 02098B88 */ _t90 = cpu->r[27] + 0x00007399u;
|
|
/* 02098B88 */ cpu->r[11] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02098B8C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02098B90: ; // 0x2098b90
|
|
/* 02098B90 */ _t91 = cpu->r[10] + 0x00000000u;
|
|
/* 02098B90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02098B94 */ _t92 = cpu->r[12] + 0x00000001u;
|
|
/* 02098B94 */ cpu->r[9] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02098B94 */ cpu->r[12] = _t92;
|
|
/* 02098B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02098B9C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098B9C */ _t94 = _t93 & 0x00000001u;
|
|
/* 02098B9C */ if (_t94) goto L_02098BA0; else goto L_02098BD8;
|
|
L_02098BA0: ; // 0x2098ba0
|
|
/* 02098BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02098BA4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098BA4 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02098BA4 */ if (_t96) goto L_02098BD0; else goto L_02098BA8;
|
|
L_02098BA8: ; // 0x2098ba8
|
|
/* 02098BA8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02098BAC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02098BAC */ _t97 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02098BAC */ _t98 = _t97 >> (0x00000002u & 31u);
|
|
/* 02098BAC */ _t99 = _t98 & 0x00000001u;
|
|
/* 02098BAC */ if (_t99) goto L_02098B90; else goto L_02098BB0;
|
|
L_02098BB0: ; // 0x2098bb0
|
|
/* 02098BB0 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 02098BB0 */ rbrew_write32(cpu->mem, _t100, cpu->r[28]);
|
|
/* 02098BB4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02098BB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098BBC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02098BC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098BC4 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 02098BC4 */ rbrew_write32(cpu->mem, _t101, cpu->r[29]);
|
|
/* 02098BC8 */ Gambit_fn_027EDA78(cpu);
|
|
/* 02098BCC */ goto L_02098BF4;
|
|
L_02098BD0: ; // 0x2098bd0
|
|
/* 02098BD0 */ cpu->r[7] = 0x10010000u;
|
|
/* 02098BD4 */ _t102 = cpu->r[7] + 0xFFFFFB24u;
|
|
/* 02098BD4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t102);
|
|
L_02098BD8: ; // 0x2098bd8
|
|
/* 02098BD8 */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 02098BD8 */ rbrew_write32(cpu->mem, _t103, cpu->r[28]);
|
|
/* 02098BDC */ cpu->f[1] = cpu->f[31];
|
|
/* 02098BE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098BE4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02098BE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098BEC */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02098BEC */ rbrew_write32(cpu->mem, _t104, cpu->r[29]);
|
|
/* 02098BF0 */ Gambit_fn_027EDA78(cpu);
|
|
L_02098BF4: ; // 0x2098bf4
|
|
/* 02098BF4 */ /* nop */
|
|
/* 02098BF8 */ _t105 = cpu->r[1] + 0x00000060u;
|
|
/* 02098BF8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02098BFC */ _t106 = cpu->r[1] + 0x00000058u;
|
|
/* 02098BFC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 02098C00 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098C00 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02098C00 */ if (_t108) goto L_02098C04; // else: addr-0 trap, fall-through
|
|
L_02098C04: ; // 0x2098c04
|
|
/* 02098C04 */ _t109 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02098C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02098C08 */ cpu->lr = cpu->r[0];
|
|
/* 02098C0C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02098C10 */ return;
|
|
}
|
|
|
|
// fn_02098C14 @ 0x2098c14
|
|
void Gambit_fn_02098C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02098C14: ; // 0x2098c14
|
|
/* 02098C14 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02098C18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098C18 */ cpu->r[1] = _t0;
|
|
/* 02098C1C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02098C20 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02098C24 */ _t1 = cpu->r[10] + 0xFFFFD95Cu;
|
|
/* 02098C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02098C24 */ cpu->r[10] = _t1;
|
|
/* 02098C28 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02098C2C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02098C2C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02098C30 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02098C34 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02098C38 */ _t3 = cpu->r[7] + 0xFFFFD96Cu;
|
|
/* 02098C38 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02098C38 */ cpu->r[7] = _t3;
|
|
/* 02098C3C */ _t4 = cpu->r[8] + 0xFFFFD964u;
|
|
/* 02098C3C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02098C3C */ cpu->r[8] = _t4;
|
|
/* 02098C40 */ cpu->r[0] = 0x00000002u;
|
|
/* 02098C44 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02098C44 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02098C48 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02098C4C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02098C4C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098C50 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02098C54 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02098C54 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02098C58 */ _t8 = cpu->r[8] + 0xFFFFD97Cu;
|
|
/* 02098C58 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02098C58 */ cpu->r[8] = _t8;
|
|
/* 02098C5C */ _t9 = cpu->r[12] + 0xFFFFD974u;
|
|
/* 02098C5C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02098C5C */ cpu->r[12] = _t9;
|
|
/* 02098C60 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02098C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02098C64 */ cpu->r[0] = 0x00000004u;
|
|
/* 02098C68 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02098C68 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02098C6C */ cpu->r[11] = 0x101E0000u;
|
|
/* 02098C70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02098C70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098C74 */ _t13 = cpu->r[11] + 0xFFFFD984u;
|
|
/* 02098C74 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098C78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02098C7C */ return;
|
|
}
|
|
|
|
// fn_02098C18 @ 0x2098c18
|
|
void Gambit_fn_02098C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02098C18: ; // 0x2098c18
|
|
/* 02098C18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02098C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098C18 */ cpu->r[1] = _t0;
|
|
/* 02098C1C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02098C20 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02098C24 */ _t1 = cpu->r[10] + 0xFFFFD95Cu;
|
|
/* 02098C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02098C24 */ cpu->r[10] = _t1;
|
|
/* 02098C28 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02098C2C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02098C2C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02098C30 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02098C34 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02098C38 */ _t3 = cpu->r[7] + 0xFFFFD96Cu;
|
|
/* 02098C38 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02098C38 */ cpu->r[7] = _t3;
|
|
/* 02098C3C */ _t4 = cpu->r[8] + 0xFFFFD964u;
|
|
/* 02098C3C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02098C3C */ cpu->r[8] = _t4;
|
|
/* 02098C40 */ cpu->r[0] = 0x00000002u;
|
|
/* 02098C44 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02098C44 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02098C48 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02098C4C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02098C4C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098C50 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02098C54 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02098C54 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02098C58 */ _t8 = cpu->r[8] + 0xFFFFD97Cu;
|
|
/* 02098C58 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02098C58 */ cpu->r[8] = _t8;
|
|
/* 02098C5C */ _t9 = cpu->r[12] + 0xFFFFD974u;
|
|
/* 02098C5C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02098C5C */ cpu->r[12] = _t9;
|
|
/* 02098C60 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02098C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02098C64 */ cpu->r[0] = 0x00000004u;
|
|
/* 02098C68 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02098C68 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02098C6C */ cpu->r[11] = 0x101E0000u;
|
|
/* 02098C70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02098C70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098C74 */ _t13 = cpu->r[11] + 0xFFFFD984u;
|
|
/* 02098C74 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098C78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02098C7C */ return;
|
|
}
|
|
|
|
// fn_02098C80 @ 0x2098c80
|
|
void Gambit_fn_02098C80(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_02098C80: ; // 0x2098c80
|
|
/* 02098C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02098C84 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098C84 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02098C84 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02098C84 */ goto L_02098C88;
|
|
L_02098C88: ; // 0x2098c88
|
|
/* 02098C88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098C8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098C8C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02098C8C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02098C8C */ goto L_02098C90;
|
|
L_02098C90: ; // 0x2098c90
|
|
/* 02098C90 */ 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_02098C94 @ 0x2098c94
|
|
void Gambit_fn_02098C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098C94: ; // 0x2098c94
|
|
/* 02098C94 */ cpu->r[0] = cpu->lr;
|
|
/* 02098C98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098C98 */ cpu->r[1] = _t0;
|
|
/* 02098C9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098CA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098CA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098CAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098CB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098CB0 */ if (_t5) goto L_02098D20; else goto L_02098CB4;
|
|
L_02098CB4: ; // 0x2098cb4
|
|
/* 02098CB4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CB8 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098CBC */ cpu->r[0] = cpu->r[0] + 0xFFFFFD30u;
|
|
/* 02098CC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD50u;
|
|
/* 02098CC4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098CC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098CCC */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098CCC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098CD0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD40u;
|
|
/* 02098CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CD8 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098CDC */ if (_t10) goto L_02098D10; else goto L_02098CE0;
|
|
L_02098CE0: ; // 0x2098ce0
|
|
/* 02098CE0 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098CE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CE8 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02098CEC */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098CF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098CF4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098CF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CFC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CFC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098D00 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02098D04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098D08 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098D08 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098D0C */ Gambit_fn_02068798(cpu);
|
|
L_02098D10: ; // 0x2098d10
|
|
/* 02098D10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098D14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098D14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098D14 */ if (_t15) goto L_02098D20; else goto L_02098D18;
|
|
L_02098D18: ; // 0x2098d18
|
|
/* 02098D18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098D1C */ Gambit_fn_02801BB0(cpu);
|
|
L_02098D20: ; // 0x2098d20
|
|
/* 02098D20 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098D24 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098D24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02098D28 */ cpu->lr = cpu->r[0];
|
|
/* 02098D2C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098D30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098D34 */ return;
|
|
}
|
|
|
|
// fn_02098C98 @ 0x2098c98
|
|
void Gambit_fn_02098C98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098C98: ; // 0x2098c98
|
|
/* 02098C98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098C98 */ cpu->r[1] = _t0;
|
|
/* 02098C9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098CA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098CA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098CAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098CB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098CB0 */ if (_t5) goto L_02098D20; else goto L_02098CB4;
|
|
L_02098CB4: ; // 0x2098cb4
|
|
/* 02098CB4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CB8 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098CBC */ cpu->r[0] = cpu->r[0] + 0xFFFFFD30u;
|
|
/* 02098CC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFD50u;
|
|
/* 02098CC4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02098CC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02098CCC */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098CCC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02098CD0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD40u;
|
|
/* 02098CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098CD8 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02098CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098CDC */ if (_t10) goto L_02098D10; else goto L_02098CE0;
|
|
L_02098CE0: ; // 0x2098ce0
|
|
/* 02098CE0 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098CE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CE8 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02098CEC */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02098CF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098CF4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02098CF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02098CF8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098CFC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02098CFC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02098D00 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02098D04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098D08 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02098D08 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02098D0C */ Gambit_fn_02068798(cpu);
|
|
L_02098D10: ; // 0x2098d10
|
|
/* 02098D10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02098D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098D14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098D14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02098D14 */ if (_t15) goto L_02098D20; else goto L_02098D18;
|
|
L_02098D18: ; // 0x2098d18
|
|
/* 02098D18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02098D1C */ Gambit_fn_02801BB0(cpu);
|
|
L_02098D20: ; // 0x2098d20
|
|
/* 02098D20 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02098D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098D24 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02098D24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02098D28 */ cpu->lr = cpu->r[0];
|
|
/* 02098D2C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02098D30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098D34 */ return;
|
|
}
|
|
|
|
// fn_02098D38 @ 0x2098d38
|
|
void Gambit_fn_02098D38(CPUState* cpu) {
|
|
L_02098D38: ; // 0x2098d38
|
|
/* 02098D38 */ return;
|
|
}
|
|
|
|
// fn_02098D3C @ 0x2098d3c
|
|
void Gambit_fn_02098D3C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098D3C: ; // 0x2098d3c
|
|
/* 02098D3C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D40 */ return;
|
|
}
|
|
|
|
// fn_02098D44 @ 0x2098d44
|
|
void Gambit_fn_02098D44(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098D44: ; // 0x2098d44
|
|
/* 02098D44 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02098D44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D48 */ return;
|
|
}
|
|
|
|
// fn_02098D4C @ 0x2098d4c
|
|
void Gambit_fn_02098D4C(CPUState* cpu) {
|
|
L_02098D4C: ; // 0x2098d4c
|
|
/* 02098D4C */ return;
|
|
}
|
|
|
|
// fn_02098D50 @ 0x2098d50
|
|
void Gambit_fn_02098D50(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098D50: ; // 0x2098d50
|
|
/* 02098D50 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02098D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D54 */ return;
|
|
}
|
|
|
|
// fn_02098D58 @ 0x2098d58
|
|
void Gambit_fn_02098D58(CPUState* cpu) {
|
|
L_02098D58: ; // 0x2098d58
|
|
/* 02098D58 */ return;
|
|
}
|
|
|
|
// fn_02098D5C @ 0x2098d5c
|
|
void Gambit_fn_02098D5C(CPUState* cpu) {
|
|
L_02098D5C: ; // 0x2098d5c
|
|
/* 02098D5C */ return;
|
|
}
|
|
|
|
// fn_02098D60 @ 0x2098d60
|
|
void Gambit_fn_02098D60(CPUState* cpu) {
|
|
L_02098D60: ; // 0x2098d60
|
|
/* 02098D60 */ return;
|
|
}
|
|
|
|
// fn_02098D64 @ 0x2098d64
|
|
void Gambit_fn_02098D64(CPUState* cpu) {
|
|
L_02098D64: ; // 0x2098d64
|
|
/* 02098D64 */ return;
|
|
}
|
|
|
|
// fn_02098D68 @ 0x2098d68
|
|
void Gambit_fn_02098D68(CPUState* cpu) {
|
|
L_02098D68: ; // 0x2098d68
|
|
/* 02098D68 */ return;
|
|
}
|
|
|
|
// fn_02098D6C @ 0x2098d6c
|
|
void Gambit_fn_02098D6C(CPUState* cpu) {
|
|
L_02098D6C: ; // 0x2098d6c
|
|
/* 02098D6C */ cpu->r[3] = 0x00000001u;
|
|
/* 02098D70 */ return;
|
|
}
|
|
|
|
// fn_02098D74 @ 0x2098d74
|
|
void Gambit_fn_02098D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02098D74: ; // 0x2098d74
|
|
/* 02098D74 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02098D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D78 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02098D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02098D7C */ cpu->ctr = cpu->r[0];
|
|
/* 02098D80 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02098D84 @ 0x2098d84
|
|
void Gambit_fn_02098D84(CPUState* cpu) {
|
|
L_02098D84: ; // 0x2098d84
|
|
/* 02098D84 */ return;
|
|
}
|
|
|
|
// fn_02098D88 @ 0x2098d88
|
|
void Gambit_fn_02098D88(CPUState* cpu) {
|
|
L_02098D88: ; // 0x2098d88
|
|
/* 02098D88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02098D8C */ return;
|
|
}
|
|
|
|
// fn_02098D90 @ 0x2098d90
|
|
void Gambit_fn_02098D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02098D90: ; // 0x2098d90
|
|
/* 02098D90 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02098D94 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02098D94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098D94 */ cpu->r[9] = _t0;
|
|
/* 02098D98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02098D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098DA0 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02098DA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098DA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02098DA4 */ if (_t2) goto L_02098DA8; else goto L_02098DBC;
|
|
L_02098DA8: ; // 0x2098da8
|
|
/* 02098DA8 */ cpu->r[7] = 0x10010000u;
|
|
/* 02098DAC */ cpu->r[0] = 0x00000001u;
|
|
/* 02098DB0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFAFCu;
|
|
/* 02098DB4 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02098DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098DB8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02098DB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02098DBC: ; // 0x2098dbc
|
|
/* 02098DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02098DC0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098DC0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098DC0 */ if (_t6) goto L_02098DC4; else goto L_02098DCC;
|
|
L_02098DC4: ; // 0x2098dc4
|
|
/* 02098DC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02098DC8 */ return;
|
|
L_02098DCC: ; // 0x2098dcc
|
|
/* 02098DCC */ cpu->r[7] = 0x101D0000u;
|
|
/* 02098DD0 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02098DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02098DD0 */ cpu->r[7] = _t7;
|
|
/* 02098DD4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02098DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02098DDC */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02098DE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098DE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02098DE0 */ if (_t9) goto L_02098DE4; else goto L_02098DF8;
|
|
L_02098DE4: ; // 0x2098de4
|
|
/* 02098DE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098DE8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02098DEC */ cpu->r[0] = cpu->r[0] + 0xFFFFFAD4u;
|
|
/* 02098DF0 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02098DF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02098DF4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02098DF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02098DF8: ; // 0x2098df8
|
|
/* 02098DF8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02098DFC */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02098E00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02098E04 */ return;
|
|
}
|
|
|
|
// fn_02098E08 @ 0x2098e08
|
|
void Gambit_fn_02098E08(CPUState* cpu) {
|
|
L_02098E08: ; // 0x2098e08
|
|
/* 02098E08 */ return;
|
|
}
|
|
|
|
// fn_02098E0C @ 0x2098e0c
|
|
void Gambit_fn_02098E0C(CPUState* cpu) {
|
|
L_02098E0C: ; // 0x2098e0c
|
|
/* 02098E0C */ return;
|
|
}
|
|
|
|
// fn_02098E10 @ 0x2098e10
|
|
void Gambit_fn_02098E10(CPUState* cpu) {
|
|
L_02098E10: ; // 0x2098e10
|
|
/* 02098E10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02098E14 */ return;
|
|
}
|
|
|
|
// fn_02098E18 @ 0x2098e18
|
|
void Gambit_fn_02098E18(CPUState* cpu) {
|
|
L_02098E18: ; // 0x2098e18
|
|
/* 02098E18 */ cpu->r[3] = 0x00000000u;
|
|
/* 02098E1C */ return;
|
|
}
|
|
|
|
// fn_02098E20 @ 0x2098e20
|
|
void Gambit_fn_02098E20(CPUState* cpu) {
|
|
L_02098E20: ; // 0x2098e20
|
|
/* 02098E20 */ return;
|
|
}
|
|
|
|
// fn_02098E24 @ 0x2098e24
|
|
void Gambit_fn_02098E24(CPUState* cpu) {
|
|
L_02098E24: ; // 0x2098e24
|
|
/* 02098E24 */ return;
|
|
}
|
|
|
|
// fn_02098E28 @ 0x2098e28
|
|
void Gambit_fn_02098E28(CPUState* cpu) {
|
|
L_02098E28: ; // 0x2098e28
|
|
/* 02098E28 */ return;
|
|
}
|
|
|
|
// fn_02098E2C @ 0x2098e2c
|
|
void Gambit_fn_02098E2C(CPUState* cpu) {
|
|
L_02098E2C: ; // 0x2098e2c
|
|
/* 02098E2C */ return;
|
|
}
|
|
|
|
// fn_02098E30 @ 0x2098e30
|
|
void Gambit_fn_02098E30(CPUState* cpu) {
|
|
L_02098E30: ; // 0x2098e30
|
|
/* 02098E30 */ return;
|
|
}
|
|
|
|
// fn_02098E34 @ 0x2098e34
|
|
void Gambit_fn_02098E34(CPUState* cpu) {
|
|
L_02098E34: ; // 0x2098e34
|
|
/* 02098E34 */ return;
|
|
}
|
|
|
|
// fn_02098E38 @ 0x2098e38
|
|
void Gambit_fn_02098E38(CPUState* cpu) {
|
|
L_02098E38: ; // 0x2098e38
|
|
/* 02098E38 */ return;
|
|
}
|
|
|
|
// fn_02098E3C @ 0x2098e3c
|
|
void Gambit_fn_02098E3C(CPUState* cpu) {
|
|
L_02098E3C: ; // 0x2098e3c
|
|
/* 02098E3C */ return;
|
|
}
|
|
|
|
// fn_02098E40 @ 0x2098e40
|
|
void Gambit_fn_02098E40(CPUState* cpu) {
|
|
L_02098E40: ; // 0x2098e40
|
|
/* 02098E40 */ return;
|
|
}
|
|
|
|
// fn_02098E44 @ 0x2098e44
|
|
void Gambit_fn_02098E44(CPUState* cpu) {
|
|
L_02098E44: ; // 0x2098e44
|
|
/* 02098E44 */ return;
|
|
}
|
|
|
|
// fn_02098E48 @ 0x2098e48
|
|
void Gambit_fn_02098E48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_02098E48: ; // 0x2098e48
|
|
/* 02098E48 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 02098E4C */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_02098E50 @ 0x2098e50
|
|
void Gambit_fn_02098E50(CPUState* cpu) {
|
|
L_02098E50: ; // 0x2098e50
|
|
/* 02098E50 */ return;
|
|
}
|
|
|
|
// fn_02098E54 @ 0x2098e54
|
|
void Gambit_fn_02098E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098E54: ; // 0x2098e54
|
|
/* 02098E54 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02098E58 */ goto L_02098FE0;
|
|
L_02098FE0: ; // 0x2098fe0
|
|
/* 02098FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02098FE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098FE4 */ cpu->r[1] = _t0;
|
|
/* 02098FE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098FEC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098FEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098FF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098FF4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098FF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098FFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098FFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098FFC */ if (_t5) goto L_0209906C; else goto L_02099000;
|
|
L_02099000: ; // 0x2099000
|
|
/* 02099000 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099004 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099008 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFDCu;
|
|
/* 0209900C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02099010 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099010 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099014 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099018 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099018 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209901C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02099020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099024 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099024 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099028 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099028 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099028 */ if (_t10) goto L_0209905C; else goto L_0209902C;
|
|
L_0209902C: ; // 0x209902c
|
|
/* 0209902C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099030 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099034 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02099038 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209903C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099040 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099040 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099044 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099048 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099048 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209904C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02099050 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099054 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099054 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099058 */ Gambit_fn_02068798(cpu);
|
|
L_0209905C: ; // 0x209905c
|
|
/* 0209905C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099060 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099060 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099060 */ if (_t15) goto L_0209906C; else goto L_02099064;
|
|
L_02099064: ; // 0x2099064
|
|
/* 02099064 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099068 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209906C: ; // 0x209906c
|
|
/* 0209906C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209906C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099070 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099074 */ cpu->lr = cpu->r[0];
|
|
/* 02099078 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209907C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099080 */ return;
|
|
}
|
|
|
|
// fn_02098E5C @ 0x2098e5c
|
|
void Gambit_fn_02098E5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02098E5C: ; // 0x2098e5c
|
|
/* 02098E5C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098E60 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02098E64 @ 0x2098e64
|
|
void Gambit_fn_02098E64(CPUState* cpu) {
|
|
L_02098E64: ; // 0x2098e64
|
|
/* 02098E64 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098E68 */ goto L_02099084;
|
|
L_02099084: ; // 0x2099084
|
|
/* 02099084 */ return;
|
|
}
|
|
|
|
// fn_02098E6C @ 0x2098e6c
|
|
void Gambit_fn_02098E6C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02098E6C: ; // 0x2098e6c
|
|
/* 02098E6C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02098E70 */ goto L_02099088;
|
|
L_02099088: ; // 0x2099088
|
|
/* 02099088 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02099088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209908C */ return;
|
|
}
|
|
|
|
// fn_02098E74 @ 0x2098e74
|
|
void Gambit_fn_02098E74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02098E74: ; // 0x2098e74
|
|
/* 02098E74 */ cpu->r[0] = cpu->lr;
|
|
/* 02098E78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098E78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098E78 */ cpu->r[1] = _t0;
|
|
/* 02098E7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098E7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098E80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098E84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098E84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098E88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098E88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098E88 */ if (_t4) goto L_02098E8C; else goto L_02098E9C;
|
|
L_02098E8C: ; // 0x2098e8c
|
|
/* 02098E8C */ cpu->r[3] = 0x00000224u;
|
|
/* 02098E90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02098E94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098E98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098E98 */ if (_t6) goto L_02098F08; else goto L_02098E9C;
|
|
L_02098E9C: ; // 0x2098e9c
|
|
/* 02098E9C */ cpu->r[4] = 0x10010000u;
|
|
/* 02098EA0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02098EA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098EA8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFDE8u;
|
|
/* 02098EAC */ cpu->r[6] = cpu->r[5];
|
|
/* 02098EB0 */ Gambit_fn_020B6F60(cpu);
|
|
/* 02098EB4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098EB8 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098EBC */ cpu->r[11] = 0x10010000u;
|
|
/* 02098EC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDF4u;
|
|
/* 02098EC4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFDCu;
|
|
/* 02098EC8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02098EC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02098ECC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02098ED0 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098ED4 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02098ED8 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu;
|
|
/* 02098EDC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02098EE0 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098EE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02098EE4 */ cpu->r[4] = 0x00000008u;
|
|
/* 02098EE8 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02098EEC */ Gambit_fn_02C89380(cpu);
|
|
/* 02098EF0 */ cpu->r[0] = 0x00000002u;
|
|
/* 02098EF4 */ cpu->r[11] = cpu->r[31] + 0x00000218u;
|
|
/* 02098EF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02098EFC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_02098F00: ; // 0x2098f00
|
|
/* 02098F00 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02098F00 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02098F00 */ cpu->r[11] = _t11;
|
|
/* 02098F04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02098F04 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02098F04 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02098F04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02098F04 */ if (_t14) goto L_02098F00; else goto L_02098F08;
|
|
L_02098F08: ; // 0x2098f08
|
|
/* 02098F08 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02098F0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02098F10 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098F14 */ cpu->lr = cpu->r[0];
|
|
/* 02098F18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098F1C */ return;
|
|
}
|
|
|
|
// fn_02098E78 @ 0x2098e78
|
|
void Gambit_fn_02098E78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02098E78: ; // 0x2098e78
|
|
/* 02098E78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098E78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098E78 */ cpu->r[1] = _t0;
|
|
/* 02098E7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098E7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098E80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098E84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098E84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098E88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098E88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02098E88 */ if (_t4) goto L_02098E8C; else goto L_02098E9C;
|
|
L_02098E8C: ; // 0x2098e8c
|
|
/* 02098E8C */ cpu->r[3] = 0x00000224u;
|
|
/* 02098E90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02098E94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02098E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02098E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098E98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098E98 */ if (_t6) goto L_02098F08; else goto L_02098E9C;
|
|
L_02098E9C: ; // 0x2098e9c
|
|
/* 02098E9C */ cpu->r[4] = 0x10010000u;
|
|
/* 02098EA0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02098EA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02098EA8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFDE8u;
|
|
/* 02098EAC */ cpu->r[6] = cpu->r[5];
|
|
/* 02098EB0 */ Gambit_fn_020B6F60(cpu);
|
|
/* 02098EB4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02098EB8 */ cpu->r[10] = 0x10010000u;
|
|
/* 02098EBC */ cpu->r[11] = 0x10010000u;
|
|
/* 02098EC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDF4u;
|
|
/* 02098EC4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFDCu;
|
|
/* 02098EC8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02098EC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02098ECC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02098ED0 */ cpu->r[12] = 0x10010000u;
|
|
/* 02098ED4 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02098ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02098ED8 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu;
|
|
/* 02098EDC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02098EE0 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02098EE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02098EE4 */ cpu->r[4] = 0x00000008u;
|
|
/* 02098EE8 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02098EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02098EEC */ Gambit_fn_02C89380(cpu);
|
|
/* 02098EF0 */ cpu->r[0] = 0x00000002u;
|
|
/* 02098EF4 */ cpu->r[11] = cpu->r[31] + 0x00000218u;
|
|
/* 02098EF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02098EFC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_02098F00: ; // 0x2098f00
|
|
/* 02098F00 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02098F00 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02098F00 */ cpu->r[11] = _t11;
|
|
/* 02098F04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02098F04 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02098F04 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02098F04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02098F04 */ if (_t14) goto L_02098F00; else goto L_02098F08;
|
|
L_02098F08: ; // 0x2098f08
|
|
/* 02098F08 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02098F0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02098F10 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02098F14 */ cpu->lr = cpu->r[0];
|
|
/* 02098F18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098F1C */ return;
|
|
}
|
|
|
|
// fn_02098F20 @ 0x2098f20
|
|
void Gambit_fn_02098F20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02098F20: ; // 0x2098f20
|
|
/* 02098F20 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02098F20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02098F24 */ _t1 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F24 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02098F28 */ _t2 = cpu->r[3] + 0x00000220u;
|
|
/* 02098F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 02098F2C */ _t3 = cpu->r[12] + 0x00000164u;
|
|
/* 02098F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098F30 */ cpu->ctr = cpu->r[0];
|
|
/* 02098F34 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02098F38 @ 0x2098f38
|
|
void Gambit_fn_02098F38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02098F38: ; // 0x2098f38
|
|
/* 02098F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02098F3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098F3C */ cpu->r[1] = _t0;
|
|
/* 02098F40 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02098F44 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02098F48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098F4C */ _t4 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098F50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098F58 */ cpu->r[30] = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F5C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098F5C */ if (_t6) goto L_02098F6C; else goto L_02098F60;
|
|
L_02098F60: ; // 0x2098f60
|
|
/* 02098F60 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02098F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02098F64 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F68 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F6C: ; // 0x2098f6c
|
|
/* 02098F6C */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02098F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02098F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098F74 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 02098F78 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098F78 */ if (_t10) goto L_02098F88; else goto L_02098F7C;
|
|
L_02098F7C: ; // 0x2098f7c
|
|
/* 02098F7C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02098F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02098F80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F84 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F88: ; // 0x2098f88
|
|
/* 02098F88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098F8C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02098F90 */ cpu->lr = cpu->r[0];
|
|
/* 02098F94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098F9C */ return;
|
|
}
|
|
|
|
// fn_02098F3C @ 0x2098f3c
|
|
void Gambit_fn_02098F3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02098F3C: ; // 0x2098f3c
|
|
/* 02098F3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098F3C */ cpu->r[1] = _t0;
|
|
/* 02098F40 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02098F44 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02098F48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098F4C */ _t4 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098F50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098F58 */ cpu->r[30] = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F5C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098F5C */ if (_t6) goto L_02098F6C; else goto L_02098F60;
|
|
L_02098F60: ; // 0x2098f60
|
|
/* 02098F60 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02098F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02098F64 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F68 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F6C: ; // 0x2098f6c
|
|
/* 02098F6C */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02098F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02098F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098F74 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 02098F78 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098F78 */ if (_t10) goto L_02098F88; else goto L_02098F7C;
|
|
L_02098F7C: ; // 0x2098f7c
|
|
/* 02098F7C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02098F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02098F80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F84 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F88: ; // 0x2098f88
|
|
/* 02098F88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098F8C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02098F90 */ cpu->lr = cpu->r[0];
|
|
/* 02098F94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098F9C */ return;
|
|
}
|
|
|
|
// fn_02098FA0 @ 0x2098fa0
|
|
void Gambit_fn_02098FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02098FA0: ; // 0x2098fa0
|
|
/* 02098FA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02098FA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098FA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098FA4 */ cpu->r[1] = _t0;
|
|
/* 02098FA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098FAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02098FB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098FB4 */ Gambit_fn_020B763C(cpu);
|
|
/* 02098FB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02098FC0 */ Gambit_fn_02098F38(cpu);
|
|
/* 02098FC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02098FCC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098FD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098FD4 */ return;
|
|
}
|
|
|
|
// fn_02098FA4 @ 0x2098fa4
|
|
void Gambit_fn_02098FA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02098FA4: ; // 0x2098fa4
|
|
/* 02098FA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098FA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098FA4 */ cpu->r[1] = _t0;
|
|
/* 02098FA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098FAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02098FB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02098FB4 */ Gambit_fn_020B763C(cpu);
|
|
/* 02098FB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02098FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02098FC0 */ Gambit_fn_02098F38(cpu);
|
|
/* 02098FC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02098FCC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098FD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098FD4 */ return;
|
|
}
|
|
|
|
// fn_02098FD8 @ 0x2098fd8
|
|
void Gambit_fn_02098FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02098F38: ; // 0x2098f38
|
|
/* 02098F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02098F3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098F3C */ cpu->r[1] = _t0;
|
|
/* 02098F40 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02098F44 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02098F48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098F4C */ _t4 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098F50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02098F58 */ cpu->r[30] = cpu->r[3] + 0x0000021Cu;
|
|
/* 02098F5C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02098F5C */ if (_t6) goto L_02098F6C; else goto L_02098F60;
|
|
L_02098F60: ; // 0x2098f60
|
|
/* 02098F60 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02098F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02098F64 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F68 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F6C: ; // 0x2098f6c
|
|
/* 02098F6C */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02098F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02098F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02098F74 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 02098F78 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02098F78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02098F78 */ if (_t10) goto L_02098F88; else goto L_02098F7C;
|
|
L_02098F7C: ; // 0x2098f7c
|
|
/* 02098F7C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02098F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02098F80 */ cpu->r[4] = cpu->r[31];
|
|
/* 02098F84 */ Gambit_fn_027E73B0(cpu);
|
|
L_02098F88: ; // 0x2098f88
|
|
/* 02098F88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02098F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02098F8C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02098F8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02098F90 */ cpu->lr = cpu->r[0];
|
|
/* 02098F94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02098F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02098F9C */ return;
|
|
L_02098FD8: ; // 0x2098fd8
|
|
/* 02098FD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02098FDC */ goto L_02098F38;
|
|
}
|
|
|
|
// fn_02098FE0 @ 0x2098fe0
|
|
void Gambit_fn_02098FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098FE0: ; // 0x2098fe0
|
|
/* 02098FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02098FE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098FE4 */ cpu->r[1] = _t0;
|
|
/* 02098FE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098FEC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098FEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098FF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098FF4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098FF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098FFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098FFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098FFC */ if (_t5) goto L_0209906C; else goto L_02099000;
|
|
L_02099000: ; // 0x2099000
|
|
/* 02099000 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099004 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099008 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFDCu;
|
|
/* 0209900C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02099010 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099010 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099014 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099018 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099018 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209901C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02099020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099024 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099024 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099028 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099028 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099028 */ if (_t10) goto L_0209905C; else goto L_0209902C;
|
|
L_0209902C: ; // 0x209902c
|
|
/* 0209902C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099030 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099034 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02099038 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209903C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099040 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099040 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099044 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099048 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099048 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209904C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02099050 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099054 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099054 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099058 */ Gambit_fn_02068798(cpu);
|
|
L_0209905C: ; // 0x209905c
|
|
/* 0209905C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099060 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099060 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099060 */ if (_t15) goto L_0209906C; else goto L_02099064;
|
|
L_02099064: ; // 0x2099064
|
|
/* 02099064 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099068 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209906C: ; // 0x209906c
|
|
/* 0209906C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209906C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099070 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099074 */ cpu->lr = cpu->r[0];
|
|
/* 02099078 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209907C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099080 */ return;
|
|
}
|
|
|
|
// fn_02098FE4 @ 0x2098fe4
|
|
void Gambit_fn_02098FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02098FE4: ; // 0x2098fe4
|
|
/* 02098FE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02098FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02098FE4 */ cpu->r[1] = _t0;
|
|
/* 02098FE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02098FEC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02098FEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02098FF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02098FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02098FF4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02098FF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02098FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02098FFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02098FFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02098FFC */ if (_t5) goto L_0209906C; else goto L_02099000;
|
|
L_02099000: ; // 0x2099000
|
|
/* 02099000 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099004 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099008 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFDCu;
|
|
/* 0209900C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02099010 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099010 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099014 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099018 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099018 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209901C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02099020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099024 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099024 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099028 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099028 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099028 */ if (_t10) goto L_0209905C; else goto L_0209902C;
|
|
L_0209902C: ; // 0x209902c
|
|
/* 0209902C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099030 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099034 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 02099038 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209903C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099040 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099040 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099044 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099048 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099048 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209904C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 02099050 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099054 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099054 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099058 */ Gambit_fn_02068798(cpu);
|
|
L_0209905C: ; // 0x209905c
|
|
/* 0209905C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099060 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099060 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099060 */ if (_t15) goto L_0209906C; else goto L_02099064;
|
|
L_02099064: ; // 0x2099064
|
|
/* 02099064 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099068 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209906C: ; // 0x209906c
|
|
/* 0209906C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209906C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099070 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099074 */ cpu->lr = cpu->r[0];
|
|
/* 02099078 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209907C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099080 */ return;
|
|
}
|
|
|
|
// fn_02099084 @ 0x2099084
|
|
void Gambit_fn_02099084(CPUState* cpu) {
|
|
L_02099084: ; // 0x2099084
|
|
/* 02099084 */ return;
|
|
}
|
|
|
|
// fn_02099088 @ 0x2099088
|
|
void Gambit_fn_02099088(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02099088: ; // 0x2099088
|
|
/* 02099088 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02099088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209908C */ return;
|
|
}
|
|
|
|
// fn_02099090 @ 0x2099090
|
|
void Gambit_fn_02099090(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02099090: ; // 0x2099090
|
|
/* 02099090 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02099090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099094 */ return;
|
|
}
|
|
|
|
// fn_02099098 @ 0x2099098
|
|
void Gambit_fn_02099098(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02099098: ; // 0x2099098
|
|
/* 02099098 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02099098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209909C */ return;
|
|
}
|
|
|
|
// fn_020990A0 @ 0x20990a0
|
|
void Gambit_fn_020990A0(CPUState* cpu) {
|
|
L_020990A0: ; // 0x20990a0
|
|
/* 020990A0 */ return;
|
|
}
|
|
|
|
// fn_020990A4 @ 0x20990a4
|
|
void Gambit_fn_020990A4(CPUState* cpu) {
|
|
L_020990A4: ; // 0x20990a4
|
|
/* 020990A4 */ return;
|
|
}
|
|
|
|
// fn_020990A8 @ 0x20990a8
|
|
void Gambit_fn_020990A8(CPUState* cpu) {
|
|
L_020990A8: ; // 0x20990a8
|
|
/* 020990A8 */ return;
|
|
}
|
|
|
|
// fn_020990AC @ 0x20990ac
|
|
void Gambit_fn_020990AC(CPUState* cpu) {
|
|
L_020990AC: ; // 0x20990ac
|
|
/* 020990AC */ return;
|
|
}
|
|
|
|
// fn_020990B0 @ 0x20990b0
|
|
void Gambit_fn_020990B0(CPUState* cpu) {
|
|
L_020990B0: ; // 0x20990b0
|
|
/* 020990B0 */ return;
|
|
}
|
|
|
|
// fn_020990B4 @ 0x20990b4
|
|
void Gambit_fn_020990B4(CPUState* cpu) {
|
|
L_020990B4: ; // 0x20990b4
|
|
/* 020990B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 020990B8 */ return;
|
|
}
|
|
|
|
// fn_020990BC @ 0x20990bc
|
|
void Gambit_fn_020990BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_020990BC: ; // 0x20990bc
|
|
/* 020990BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 020990BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020990C0 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 020990C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020990C4 */ cpu->ctr = cpu->r[0];
|
|
/* 020990C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_020990CC @ 0x20990cc
|
|
void Gambit_fn_020990CC(CPUState* cpu) {
|
|
L_020990CC: ; // 0x20990cc
|
|
/* 020990CC */ return;
|
|
}
|
|
|
|
// fn_020990D0 @ 0x20990d0
|
|
void Gambit_fn_020990D0(CPUState* cpu) {
|
|
L_020990D0: ; // 0x20990d0
|
|
/* 020990D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 020990D4 */ return;
|
|
}
|
|
|
|
// fn_020990D8 @ 0x20990d8
|
|
void Gambit_fn_020990D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_020990D8: ; // 0x20990d8
|
|
/* 020990D8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 020990DC */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 020990DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020990DC */ cpu->r[9] = _t0;
|
|
/* 020990E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 020990E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020990E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 020990EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020990EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 020990EC */ if (_t2) goto L_020990F0; else goto L_02099104;
|
|
L_020990F0: ; // 0x20990f0
|
|
/* 020990F0 */ cpu->r[7] = 0x10010000u;
|
|
/* 020990F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 020990F8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFDD8u;
|
|
/* 020990FC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 020990FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099100 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02099100 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02099104: ; // 0x2099104
|
|
/* 02099104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02099108 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099108 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099108 */ if (_t6) goto L_0209910C; else goto L_02099114;
|
|
L_0209910C: ; // 0x209910c
|
|
/* 0209910C */ cpu->r[3] = 0x00000001u;
|
|
/* 02099110 */ return;
|
|
L_02099114: ; // 0x2099114
|
|
/* 02099114 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02099118 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02099118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099118 */ cpu->r[7] = _t7;
|
|
/* 0209911C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02099120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02099124 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02099128 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099128 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02099128 */ if (_t9) goto L_0209912C; else goto L_02099140;
|
|
L_0209912C: ; // 0x209912c
|
|
/* 0209912C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099130 */ cpu->r[9] = 0x00000001u;
|
|
/* 02099134 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDC8u;
|
|
/* 02099138 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02099138 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209913C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0209913C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02099140: ; // 0x2099140
|
|
/* 02099140 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02099144 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02099148 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0209914C */ return;
|
|
}
|
|
|
|
// fn_02099150 @ 0x2099150
|
|
void Gambit_fn_02099150(CPUState* cpu) {
|
|
L_02099150: ; // 0x2099150
|
|
/* 02099150 */ return;
|
|
}
|
|
|
|
// fn_02099154 @ 0x2099154
|
|
void Gambit_fn_02099154(CPUState* cpu) {
|
|
L_02099154: ; // 0x2099154
|
|
/* 02099154 */ return;
|
|
}
|
|
|
|
// fn_02099158 @ 0x2099158
|
|
void Gambit_fn_02099158(CPUState* cpu) {
|
|
L_02099158: ; // 0x2099158
|
|
/* 02099158 */ return;
|
|
}
|
|
|
|
// fn_0209915C @ 0x209915c
|
|
void Gambit_fn_0209915C(CPUState* cpu) {
|
|
L_0209915C: ; // 0x209915c
|
|
/* 0209915C */ return;
|
|
}
|
|
|
|
// fn_02099160 @ 0x2099160
|
|
void Gambit_fn_02099160(CPUState* cpu) {
|
|
L_02099160: ; // 0x2099160
|
|
/* 02099160 */ cpu->r[3] = 0x00000000u;
|
|
/* 02099164 */ return;
|
|
}
|
|
|
|
// fn_02099168 @ 0x2099168
|
|
void Gambit_fn_02099168(CPUState* cpu) {
|
|
L_02099168: ; // 0x2099168
|
|
/* 02099168 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209916C */ return;
|
|
}
|
|
|
|
// fn_02099170 @ 0x2099170
|
|
void Gambit_fn_02099170(CPUState* cpu) {
|
|
L_02099170: ; // 0x2099170
|
|
/* 02099170 */ return;
|
|
}
|
|
|
|
// fn_02099174 @ 0x2099174
|
|
void Gambit_fn_02099174(CPUState* cpu) {
|
|
L_02099174: ; // 0x2099174
|
|
/* 02099174 */ return;
|
|
}
|
|
|
|
// fn_02099178 @ 0x2099178
|
|
void Gambit_fn_02099178(CPUState* cpu) {
|
|
L_02099178: ; // 0x2099178
|
|
/* 02099178 */ return;
|
|
}
|
|
|
|
// fn_0209917C @ 0x209917c
|
|
void Gambit_fn_0209917C(CPUState* cpu) {
|
|
L_0209917C: ; // 0x209917c
|
|
/* 0209917C */ return;
|
|
}
|
|
|
|
// fn_02099180 @ 0x2099180
|
|
void Gambit_fn_02099180(CPUState* cpu) {
|
|
L_02099180: ; // 0x2099180
|
|
/* 02099180 */ return;
|
|
}
|
|
|
|
// fn_02099184 @ 0x2099184
|
|
void Gambit_fn_02099184(CPUState* cpu) {
|
|
L_02099184: ; // 0x2099184
|
|
/* 02099184 */ return;
|
|
}
|
|
|
|
// fn_02099188 @ 0x2099188
|
|
void Gambit_fn_02099188(CPUState* cpu) {
|
|
L_02099188: ; // 0x2099188
|
|
/* 02099188 */ return;
|
|
}
|
|
|
|
// fn_0209918C @ 0x209918c
|
|
void Gambit_fn_0209918C(CPUState* cpu) {
|
|
L_0209918C: ; // 0x209918c
|
|
/* 0209918C */ return;
|
|
}
|
|
|
|
// fn_02099190 @ 0x2099190
|
|
void Gambit_fn_02099190(CPUState* cpu) {
|
|
L_02099190: ; // 0x2099190
|
|
/* 02099190 */ return;
|
|
}
|
|
|
|
// fn_02099194 @ 0x2099194
|
|
void Gambit_fn_02099194(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_02099194: ; // 0x2099194
|
|
/* 02099194 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 02099198 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0209919C @ 0x209919c
|
|
void Gambit_fn_0209919C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209919C: ; // 0x209919c
|
|
/* 0209919C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 020991A0 */ goto L_020993F0;
|
|
L_020993F0: ; // 0x20993f0
|
|
/* 020993F0 */ cpu->r[0] = cpu->lr;
|
|
/* 020993F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020993F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020993F4 */ cpu->r[1] = _t0;
|
|
/* 020993F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020993F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020993FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020993FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099404 */ cpu->r[31] = cpu->r[4];
|
|
/* 02099408 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02099408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209940C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209940C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209940C */ if (_t5) goto L_0209947C; else goto L_02099410;
|
|
L_02099410: ; // 0x2099410
|
|
/* 02099410 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099414 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099418 */ cpu->r[0] = cpu->r[0] + 0x000002ACu;
|
|
/* 0209941C */ cpu->r[12] = cpu->r[12] + 0x000002CCu;
|
|
/* 02099420 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099420 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099424 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099428 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099428 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209942C */ cpu->r[11] = cpu->r[11] + 0x000002BCu;
|
|
/* 02099430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099434 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099434 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099438 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099438 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099438 */ if (_t10) goto L_0209946C; else goto L_0209943C;
|
|
L_0209943C: ; // 0x209943c
|
|
/* 0209943C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099440 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099444 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02099448 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0209944C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099450 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099450 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099454 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099458 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099458 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209945C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02099460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099464 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099464 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099468 */ Gambit_fn_02068798(cpu);
|
|
L_0209946C: ; // 0x209946c
|
|
/* 0209946C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099470 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099470 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099470 */ if (_t15) goto L_0209947C; else goto L_02099474;
|
|
L_02099474: ; // 0x2099474
|
|
/* 02099474 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099478 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209947C: ; // 0x209947c
|
|
/* 0209947C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099480 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099484 */ cpu->lr = cpu->r[0];
|
|
/* 02099488 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209948C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099490 */ return;
|
|
}
|
|
|
|
// fn_020991A4 @ 0x20991a4
|
|
void Gambit_fn_020991A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_020991A4: ; // 0x20991a4
|
|
/* 020991A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020991A8 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_020991AC @ 0x20991ac
|
|
void Gambit_fn_020991AC(CPUState* cpu) {
|
|
L_020991AC: ; // 0x20991ac
|
|
/* 020991AC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020991B0 */ goto L_02099494;
|
|
L_02099494: ; // 0x2099494
|
|
/* 02099494 */ return;
|
|
}
|
|
|
|
// fn_020991B4 @ 0x20991b4
|
|
void Gambit_fn_020991B4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020991B4: ; // 0x20991b4
|
|
/* 020991B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020991B8 */ goto L_02099498;
|
|
L_02099498: ; // 0x2099498
|
|
/* 02099498 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02099498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209949C */ return;
|
|
}
|
|
|
|
// fn_020991BC @ 0x20991bc
|
|
void Gambit_fn_020991BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_020991BC: ; // 0x20991bc
|
|
/* 020991BC */ cpu->r[0] = cpu->lr;
|
|
/* 020991C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020991C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020991C0 */ cpu->r[1] = _t0;
|
|
/* 020991C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 020991C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 020991C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020991C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020991CC */ cpu->r[31] = cpu->r[3];
|
|
/* 020991CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020991D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 020991D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020991D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020991D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020991D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020991D8 */ if (_t5) goto L_020991DC; else goto L_020991EC;
|
|
L_020991DC: ; // 0x20991dc
|
|
/* 020991DC */ cpu->r[3] = 0x00000220u;
|
|
/* 020991E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 020991E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020991E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020991E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020991E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020991E8 */ if (_t7) goto L_02099238; else goto L_020991EC;
|
|
L_020991EC: ; // 0x20991ec
|
|
/* 020991EC */ cpu->r[3] = cpu->r[31];
|
|
/* 020991F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 020991F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 020991F8 */ Gambit_fn_020B5C38(cpu);
|
|
/* 020991FC */ cpu->r[12] = 0x10010000u;
|
|
/* 02099200 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099204 */ cpu->r[12] = cpu->r[12] + 0x000000DCu;
|
|
/* 02099208 */ cpu->r[11] = cpu->r[11] + 0x000002BCu;
|
|
/* 0209920C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099210 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02099210 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02099214 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099218 */ cpu->r[0] = cpu->r[0] + 0x000002ACu;
|
|
/* 0209921C */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209921C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02099220 */ cpu->r[12] = cpu->r[12] + 0x000002CCu;
|
|
/* 02099224 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02099224 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02099228 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209922C */ _t11 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209922C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02099230 */ _t12 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099230 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02099234 */ _t13 = cpu->r[31] + 0x00000218u;
|
|
/* 02099234 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02099238: ; // 0x2099238
|
|
/* 02099238 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02099238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209923C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099240 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099244 */ cpu->lr = cpu->r[0];
|
|
/* 02099248 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02099248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209924C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099250 */ return;
|
|
}
|
|
|
|
// fn_020991C0 @ 0x20991c0
|
|
void Gambit_fn_020991C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_020991C0: ; // 0x20991c0
|
|
/* 020991C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020991C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020991C0 */ cpu->r[1] = _t0;
|
|
/* 020991C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 020991C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 020991C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020991C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020991CC */ cpu->r[31] = cpu->r[3];
|
|
/* 020991CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020991D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 020991D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020991D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020991D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020991D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 020991D8 */ if (_t5) goto L_020991DC; else goto L_020991EC;
|
|
L_020991DC: ; // 0x20991dc
|
|
/* 020991DC */ cpu->r[3] = 0x00000220u;
|
|
/* 020991E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 020991E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020991E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020991E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020991E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020991E8 */ if (_t7) goto L_02099238; else goto L_020991EC;
|
|
L_020991EC: ; // 0x20991ec
|
|
/* 020991EC */ cpu->r[3] = cpu->r[31];
|
|
/* 020991F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 020991F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 020991F8 */ Gambit_fn_020B5C38(cpu);
|
|
/* 020991FC */ cpu->r[12] = 0x10010000u;
|
|
/* 02099200 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099204 */ cpu->r[12] = cpu->r[12] + 0x000000DCu;
|
|
/* 02099208 */ cpu->r[11] = cpu->r[11] + 0x000002BCu;
|
|
/* 0209920C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099210 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02099210 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02099214 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099218 */ cpu->r[0] = cpu->r[0] + 0x000002ACu;
|
|
/* 0209921C */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209921C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02099220 */ cpu->r[12] = cpu->r[12] + 0x000002CCu;
|
|
/* 02099224 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02099224 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02099228 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209922C */ _t11 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209922C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02099230 */ _t12 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099230 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 02099234 */ _t13 = cpu->r[31] + 0x00000218u;
|
|
/* 02099234 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02099238: ; // 0x2099238
|
|
/* 02099238 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02099238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209923C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099240 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099244 */ cpu->lr = cpu->r[0];
|
|
/* 02099248 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02099248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209924C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099250 */ return;
|
|
}
|
|
|
|
// fn_02099254 @ 0x2099254
|
|
void Gambit_fn_02099254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02099254: ; // 0x2099254
|
|
/* 02099254 */ _t0 = cpu->r[3] + 0x00000118u;
|
|
/* 02099254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099258 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02099258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209925C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209925C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209925C */ if (_t2) goto L_02099260; else goto L_02099268;
|
|
L_02099260: ; // 0x2099260
|
|
/* 02099260 */ cpu->r[12] = 0x00000000u;
|
|
/* 02099264 */ _t3 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02099264 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
L_02099268: ; // 0x2099268
|
|
/* 02099268 */ goto L_020B6458;
|
|
L_020B6458: ; // 0x20b6458
|
|
/* 020B6458 */ cpu->r[0] = cpu->lr;
|
|
/* 020B645C */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020B645C */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 020B645C */ cpu->r[1] = _t4;
|
|
/* 020B6460 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6460 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020B6464 */ cpu->r[31] = cpu->r[3];
|
|
/* 020B6468 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 020B646C */ cpu->r[4] = 0x00000000u;
|
|
/* 020B6470 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6470 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020B6474 */ Gambit_fn_0208A248(cpu);
|
|
/* 020B6478 */ cpu->r[3] = cpu->r[31];
|
|
/* 020B647C */ Gambit_fn_0206A310(cpu);
|
|
/* 020B6480 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020B6484 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020B6488 */ cpu->lr = cpu->r[0];
|
|
/* 020B648C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B6490 */ return;
|
|
}
|
|
|
|
// fn_0209929C @ 0x209929c
|
|
void Gambit_fn_0209929C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209929C: ; // 0x209929c
|
|
/* 0209929C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209929C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209929C */ cpu->r[1] = _t0;
|
|
/* 020992A0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 020992A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020992A4 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020992A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020992A8 */ cpu->ctr = cpu->r[0];
|
|
/* 020992AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020992B0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020992B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020992B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020992B8 */ cpu->lr = cpu->r[0];
|
|
/* 020992BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020992C0 */ return;
|
|
}
|
|
|
|
// fn_020992CC @ 0x20992cc
|
|
void Gambit_fn_020992CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_020992CC: ; // 0x20992cc
|
|
/* 020992CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020992CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020992CC */ cpu->r[1] = _t0;
|
|
/* 020992D0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 020992D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020992D4 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020992D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020992D8 */ cpu->ctr = cpu->r[0];
|
|
/* 020992DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020992E0 */ Gambit_fn_020DACA4(cpu);
|
|
/* 020992E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020992E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020992E8 */ cpu->lr = cpu->r[0];
|
|
/* 020992EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020992F0 */ return;
|
|
}
|
|
|
|
// fn_0209930C @ 0x209930c
|
|
void Gambit_fn_0209930C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02099294: ; // 0x2099294
|
|
/* 02099294 */ cpu->r[0] = cpu->lr;
|
|
/* 02099298 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02099298 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209929C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209929C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209929C */ cpu->r[1] = _t1;
|
|
/* 020992A0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 020992A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020992A4 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020992A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020992A8 */ cpu->ctr = cpu->r[0];
|
|
/* 020992AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020992B0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020992B4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020992B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020992B8 */ cpu->lr = cpu->r[0];
|
|
/* 020992BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020992C0 */ return;
|
|
L_0209930C: ; // 0x209930c
|
|
/* 0209930C */ _t5 = cpu->r[3] + 0x0000021Cu;
|
|
/* 0209930C */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02099310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099314 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099314 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02099314 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02099314 */ goto L_02099318;
|
|
L_02099318: ; // 0x2099318
|
|
/* 02099318 */ goto L_02099294;
|
|
}
|
|
|
|
// fn_0209931C @ 0x209931c
|
|
void Gambit_fn_0209931C(CPUState* cpu) {
|
|
uint32_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_0209931C: ; // 0x209931c
|
|
/* 0209931C */ cpu->r[0] = cpu->lr;
|
|
/* 02099320 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099320 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099320 */ cpu->r[1] = _t0;
|
|
/* 02099324 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02099324 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099328 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209932C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209932C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099330 */ cpu->r[12] = cpu->r[12] + 0x000000CCu;
|
|
/* 02099334 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099338 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099338 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209933C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099340 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02099340 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02099344 */ cpu->r[0] = cpu->r[0] + 0x00000084u;
|
|
/* 02099348 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209934C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209934C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099350 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02099354 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02099358 */ _t6 = cpu->r[11] + 0xFFFFEDBCu;
|
|
/* 02099358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099358 */ cpu->r[11] = _t6;
|
|
/* 0209935C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099360 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02099364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099368 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 0209936C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209936C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209936C */ if (_t8) goto L_02099370; else goto L_02099384;
|
|
L_02099370: ; // 0x2099370
|
|
/* 02099370 */ cpu->r[8] = 0x10010000u;
|
|
/* 02099374 */ cpu->r[7] = 0x00000001u;
|
|
/* 02099378 */ cpu->r[8] = cpu->r[8] + 0x000000ACu;
|
|
/* 0209937C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0209937C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02099380 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02099380 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_02099384: ; // 0x2099384
|
|
/* 02099384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099388 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099388 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02099388 */ if (_t12) goto L_020993A8; else goto L_0209938C;
|
|
L_0209938C: ; // 0x209938c
|
|
/* 0209938C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0209938C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099390 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02099390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099394 */ cpu->ctr = cpu->r[0];
|
|
/* 02099398 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209939C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020993A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020993A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020993A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 020993A4 */ if (_t16) goto L_020993A8; else goto L_020993AC;
|
|
L_020993A8: ; // 0x20993a8
|
|
/* 020993A8 */ cpu->r[31] = 0x00000000u;
|
|
L_020993AC: ; // 0x20993ac
|
|
/* 020993AC */ _t17 = cpu->r[30] + 0x00000218u;
|
|
/* 020993AC */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 020993B0 */ cpu->r[12] = 0x00000001u;
|
|
/* 020993B4 */ _t18 = cpu->r[31] + 0x000001B7u;
|
|
/* 020993B4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 020993B8 */ _t19 = cpu->r[30] + 0x00000218u;
|
|
/* 020993B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020993BC */ cpu->r[4] = 0x00000002u;
|
|
/* 020993C0 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 020993C4 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020993C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020993C8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 020993C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020993CC */ cpu->lr = cpu->r[0];
|
|
/* 020993D0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 020993D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020993D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020993D8 */ return;
|
|
}
|
|
|
|
// fn_02099320 @ 0x2099320
|
|
void Gambit_fn_02099320(CPUState* cpu) {
|
|
uint32_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_02099320: ; // 0x2099320
|
|
/* 02099320 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099320 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099320 */ cpu->r[1] = _t0;
|
|
/* 02099324 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02099324 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099328 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209932C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209932C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099330 */ cpu->r[12] = cpu->r[12] + 0x000000CCu;
|
|
/* 02099334 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099338 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099338 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209933C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099340 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02099340 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02099344 */ cpu->r[0] = cpu->r[0] + 0x00000084u;
|
|
/* 02099348 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209934C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209934C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099350 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02099354 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02099358 */ _t6 = cpu->r[11] + 0xFFFFEDBCu;
|
|
/* 02099358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099358 */ cpu->r[11] = _t6;
|
|
/* 0209935C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099360 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02099364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099368 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 0209936C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209936C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209936C */ if (_t8) goto L_02099370; else goto L_02099384;
|
|
L_02099370: ; // 0x2099370
|
|
/* 02099370 */ cpu->r[8] = 0x10010000u;
|
|
/* 02099374 */ cpu->r[7] = 0x00000001u;
|
|
/* 02099378 */ cpu->r[8] = cpu->r[8] + 0x000000ACu;
|
|
/* 0209937C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0209937C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02099380 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02099380 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_02099384: ; // 0x2099384
|
|
/* 02099384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099388 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099388 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02099388 */ if (_t12) goto L_020993A8; else goto L_0209938C;
|
|
L_0209938C: ; // 0x209938c
|
|
/* 0209938C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0209938C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099390 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02099390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099394 */ cpu->ctr = cpu->r[0];
|
|
/* 02099398 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209939C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020993A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020993A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020993A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 020993A4 */ if (_t16) goto L_020993A8; else goto L_020993AC;
|
|
L_020993A8: ; // 0x20993a8
|
|
/* 020993A8 */ cpu->r[31] = 0x00000000u;
|
|
L_020993AC: ; // 0x20993ac
|
|
/* 020993AC */ _t17 = cpu->r[30] + 0x00000218u;
|
|
/* 020993AC */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 020993B0 */ cpu->r[12] = 0x00000001u;
|
|
/* 020993B4 */ _t18 = cpu->r[31] + 0x000001B7u;
|
|
/* 020993B4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 020993B8 */ _t19 = cpu->r[30] + 0x00000218u;
|
|
/* 020993B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020993BC */ cpu->r[4] = 0x00000002u;
|
|
/* 020993C0 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 020993C4 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020993C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020993C8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 020993C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020993CC */ cpu->lr = cpu->r[0];
|
|
/* 020993D0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 020993D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020993D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020993D8 */ return;
|
|
}
|
|
|
|
// fn_020993DC @ 0x20993dc
|
|
void Gambit_fn_020993DC(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_020993DC: ; // 0x20993dc
|
|
/* 020993DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020993E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020993E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020993E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020993E0 */ goto L_020993E4;
|
|
L_020993E4: ; // 0x20993e4
|
|
/* 020993E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020993E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020993E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020993E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020993E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020993E8 */ goto L_020993EC;
|
|
L_020993EC: ; // 0x20993ec
|
|
/* 020993EC */ 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_020993F0 @ 0x20993f0
|
|
void Gambit_fn_020993F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020993F0: ; // 0x20993f0
|
|
/* 020993F0 */ cpu->r[0] = cpu->lr;
|
|
/* 020993F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020993F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020993F4 */ cpu->r[1] = _t0;
|
|
/* 020993F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020993F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020993FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020993FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099404 */ cpu->r[31] = cpu->r[4];
|
|
/* 02099408 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02099408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209940C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209940C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209940C */ if (_t5) goto L_0209947C; else goto L_02099410;
|
|
L_02099410: ; // 0x2099410
|
|
/* 02099410 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099414 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099418 */ cpu->r[0] = cpu->r[0] + 0x000002ACu;
|
|
/* 0209941C */ cpu->r[12] = cpu->r[12] + 0x000002CCu;
|
|
/* 02099420 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099420 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099424 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099428 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099428 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209942C */ cpu->r[11] = cpu->r[11] + 0x000002BCu;
|
|
/* 02099430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099434 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099434 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099438 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099438 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099438 */ if (_t10) goto L_0209946C; else goto L_0209943C;
|
|
L_0209943C: ; // 0x209943c
|
|
/* 0209943C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099440 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099444 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02099448 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0209944C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099450 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099450 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099454 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099458 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099458 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209945C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02099460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099464 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099464 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099468 */ Gambit_fn_02068798(cpu);
|
|
L_0209946C: ; // 0x209946c
|
|
/* 0209946C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099470 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099470 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099470 */ if (_t15) goto L_0209947C; else goto L_02099474;
|
|
L_02099474: ; // 0x2099474
|
|
/* 02099474 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099478 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209947C: ; // 0x209947c
|
|
/* 0209947C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099480 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099484 */ cpu->lr = cpu->r[0];
|
|
/* 02099488 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209948C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099490 */ return;
|
|
}
|
|
|
|
// fn_020993F4 @ 0x20993f4
|
|
void Gambit_fn_020993F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020993F4: ; // 0x20993f4
|
|
/* 020993F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020993F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020993F4 */ cpu->r[1] = _t0;
|
|
/* 020993F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020993F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020993FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 020993FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099400 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099404 */ cpu->r[31] = cpu->r[4];
|
|
/* 02099408 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02099408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209940C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209940C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209940C */ if (_t5) goto L_0209947C; else goto L_02099410;
|
|
L_02099410: ; // 0x2099410
|
|
/* 02099410 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099414 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099418 */ cpu->r[0] = cpu->r[0] + 0x000002ACu;
|
|
/* 0209941C */ cpu->r[12] = cpu->r[12] + 0x000002CCu;
|
|
/* 02099420 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099420 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099424 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099428 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099428 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209942C */ cpu->r[11] = cpu->r[11] + 0x000002BCu;
|
|
/* 02099430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099434 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099434 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02099438 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099438 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099438 */ if (_t10) goto L_0209946C; else goto L_0209943C;
|
|
L_0209943C: ; // 0x209943c
|
|
/* 0209943C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099440 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099444 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02099448 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0209944C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099450 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099450 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099454 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099458 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099458 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209945C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02099460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099464 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 02099464 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02099468 */ Gambit_fn_02068798(cpu);
|
|
L_0209946C: ; // 0x209946c
|
|
/* 0209946C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099470 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099470 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02099470 */ if (_t15) goto L_0209947C; else goto L_02099474;
|
|
L_02099474: ; // 0x2099474
|
|
/* 02099474 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099478 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209947C: ; // 0x209947c
|
|
/* 0209947C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099480 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02099480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099484 */ cpu->lr = cpu->r[0];
|
|
/* 02099488 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209948C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099490 */ return;
|
|
}
|
|
|
|
// fn_02099494 @ 0x2099494
|
|
void Gambit_fn_02099494(CPUState* cpu) {
|
|
L_02099494: ; // 0x2099494
|
|
/* 02099494 */ return;
|
|
}
|
|
|
|
// fn_02099498 @ 0x2099498
|
|
void Gambit_fn_02099498(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02099498: ; // 0x2099498
|
|
/* 02099498 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02099498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209949C */ return;
|
|
}
|
|
|
|
// fn_020994A0 @ 0x20994a0
|
|
void Gambit_fn_020994A0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020994A0: ; // 0x20994a0
|
|
/* 020994A0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020994A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020994A4 */ return;
|
|
}
|
|
|
|
// fn_020994A8 @ 0x20994a8
|
|
void Gambit_fn_020994A8(CPUState* cpu) {
|
|
L_020994A8: ; // 0x20994a8
|
|
/* 020994A8 */ return;
|
|
}
|
|
|
|
// fn_020994AC @ 0x20994ac
|
|
void Gambit_fn_020994AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020994AC: ; // 0x20994ac
|
|
/* 020994AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 020994AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020994B0 */ return;
|
|
}
|
|
|
|
// fn_020994B4 @ 0x20994b4
|
|
void Gambit_fn_020994B4(CPUState* cpu) {
|
|
L_020994B4: ; // 0x20994b4
|
|
/* 020994B4 */ return;
|
|
}
|
|
|
|
// fn_020994B8 @ 0x20994b8
|
|
void Gambit_fn_020994B8(CPUState* cpu) {
|
|
L_020994B8: ; // 0x20994b8
|
|
/* 020994B8 */ return;
|
|
}
|
|
|
|
// fn_020994BC @ 0x20994bc
|
|
void Gambit_fn_020994BC(CPUState* cpu) {
|
|
L_020994BC: ; // 0x20994bc
|
|
/* 020994BC */ return;
|
|
}
|
|
|
|
// fn_020994C0 @ 0x20994c0
|
|
void Gambit_fn_020994C0(CPUState* cpu) {
|
|
L_020994C0: ; // 0x20994c0
|
|
/* 020994C0 */ return;
|
|
}
|
|
|
|
// fn_020994C4 @ 0x20994c4
|
|
void Gambit_fn_020994C4(CPUState* cpu) {
|
|
L_020994C4: ; // 0x20994c4
|
|
/* 020994C4 */ return;
|
|
}
|
|
|
|
// fn_020994C8 @ 0x20994c8
|
|
void Gambit_fn_020994C8(CPUState* cpu) {
|
|
L_020994C8: ; // 0x20994c8
|
|
/* 020994C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 020994CC */ return;
|
|
}
|
|
|
|
// fn_020994D0 @ 0x20994d0
|
|
void Gambit_fn_020994D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_020994D0: ; // 0x20994d0
|
|
/* 020994D0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 020994D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020994D4 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 020994D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020994D8 */ cpu->ctr = cpu->r[0];
|
|
/* 020994DC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_020994E0 @ 0x20994e0
|
|
void Gambit_fn_020994E0(CPUState* cpu) {
|
|
L_020994E0: ; // 0x20994e0
|
|
/* 020994E0 */ return;
|
|
}
|
|
|
|
// fn_020994E4 @ 0x20994e4
|
|
void Gambit_fn_020994E4(CPUState* cpu) {
|
|
L_020994E4: ; // 0x20994e4
|
|
/* 020994E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 020994E8 */ return;
|
|
}
|
|
|
|
// fn_020994EC @ 0x20994ec
|
|
void Gambit_fn_020994EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_020994EC: ; // 0x20994ec
|
|
/* 020994EC */ cpu->r[9] = 0x101D0000u;
|
|
/* 020994F0 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 020994F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020994F0 */ cpu->r[9] = _t0;
|
|
/* 020994F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 020994F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020994FC */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02099500 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099500 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02099500 */ if (_t2) goto L_02099504; else goto L_02099518;
|
|
L_02099504: ; // 0x2099504
|
|
/* 02099504 */ cpu->r[7] = 0x10010000u;
|
|
/* 02099508 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209950C */ cpu->r[7] = cpu->r[7] + 0x000000BCu;
|
|
/* 02099510 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02099510 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099514 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02099514 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02099518: ; // 0x2099518
|
|
/* 02099518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209951C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209951C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209951C */ if (_t6) goto L_02099520; else goto L_02099528;
|
|
L_02099520: ; // 0x2099520
|
|
/* 02099520 */ cpu->r[3] = 0x00000001u;
|
|
/* 02099524 */ return;
|
|
L_02099528: ; // 0x2099528
|
|
/* 02099528 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209952C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0209952C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209952C */ cpu->r[7] = _t7;
|
|
/* 02099530 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02099534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02099538 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209953C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209953C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209953C */ if (_t9) goto L_02099540; else goto L_02099554;
|
|
L_02099540: ; // 0x2099540
|
|
/* 02099540 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099544 */ cpu->r[9] = 0x00000001u;
|
|
/* 02099548 */ cpu->r[0] = cpu->r[0] + 0x00000074u;
|
|
/* 0209954C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0209954C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02099550 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02099550 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02099554: ; // 0x2099554
|
|
/* 02099554 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02099558 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0209955C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02099560 */ return;
|
|
}
|
|
|
|
// fn_02099564 @ 0x2099564
|
|
void Gambit_fn_02099564(CPUState* cpu) {
|
|
L_02099564: ; // 0x2099564
|
|
/* 02099564 */ return;
|
|
}
|
|
|
|
// fn_02099568 @ 0x2099568
|
|
void Gambit_fn_02099568(CPUState* cpu) {
|
|
L_02099568: ; // 0x2099568
|
|
/* 02099568 */ return;
|
|
}
|
|
|
|
// fn_0209956C @ 0x209956c
|
|
void Gambit_fn_0209956C(CPUState* cpu) {
|
|
L_0209956C: ; // 0x209956c
|
|
/* 0209956C */ return;
|
|
}
|
|
|
|
// fn_02099570 @ 0x2099570
|
|
void Gambit_fn_02099570(CPUState* cpu) {
|
|
L_02099570: ; // 0x2099570
|
|
/* 02099570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02099574 */ return;
|
|
}
|
|
|
|
// fn_02099578 @ 0x2099578
|
|
void Gambit_fn_02099578(CPUState* cpu) {
|
|
L_02099578: ; // 0x2099578
|
|
/* 02099578 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209957C */ return;
|
|
}
|
|
|
|
// fn_02099580 @ 0x2099580
|
|
void Gambit_fn_02099580(CPUState* cpu) {
|
|
L_02099580: ; // 0x2099580
|
|
/* 02099580 */ return;
|
|
}
|
|
|
|
// fn_02099584 @ 0x2099584
|
|
void Gambit_fn_02099584(CPUState* cpu) {
|
|
L_02099584: ; // 0x2099584
|
|
/* 02099584 */ return;
|
|
}
|
|
|
|
// fn_02099588 @ 0x2099588
|
|
void Gambit_fn_02099588(CPUState* cpu) {
|
|
L_02099588: ; // 0x2099588
|
|
/* 02099588 */ return;
|
|
}
|
|
|
|
// fn_0209958C @ 0x209958c
|
|
void Gambit_fn_0209958C(CPUState* cpu) {
|
|
L_0209958C: ; // 0x209958c
|
|
/* 0209958C */ return;
|
|
}
|
|
|
|
// fn_02099590 @ 0x2099590
|
|
void Gambit_fn_02099590(CPUState* cpu) {
|
|
L_02099590: ; // 0x2099590
|
|
/* 02099590 */ return;
|
|
}
|
|
|
|
// fn_02099594 @ 0x2099594
|
|
void Gambit_fn_02099594(CPUState* cpu) {
|
|
L_02099594: ; // 0x2099594
|
|
/* 02099594 */ return;
|
|
}
|
|
|
|
// fn_02099598 @ 0x2099598
|
|
void Gambit_fn_02099598(CPUState* cpu) {
|
|
L_02099598: ; // 0x2099598
|
|
/* 02099598 */ return;
|
|
}
|
|
|
|
// fn_0209959C @ 0x209959c
|
|
void Gambit_fn_0209959C(CPUState* cpu) {
|
|
L_0209959C: ; // 0x209959c
|
|
/* 0209959C */ return;
|
|
}
|
|
|
|
// fn_020995A0 @ 0x20995a0
|
|
void Gambit_fn_020995A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0208A0C8: ; // 0x208a0c8
|
|
/* 0208A0C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0208A0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0208A0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0208A0CC */ cpu->r[1] = _t0;
|
|
/* 0208A0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0208A0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0208A0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0208A0DC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0208A0DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0208A0E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0208A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0208A0E8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0208A0E8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0208A0EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0208A0EC */ if (_t6) goto L_0208A114; else goto L_0208A0F0;
|
|
L_0208A0F0: ; // 0x208a0f0
|
|
/* 0208A0F0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0208A0F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0208A0F4 */ /* nop */
|
|
/* 0208A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0208A0FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0208A0FC */ if (_t9) goto L_0208A100; else goto L_0208A114;
|
|
L_0208A100: ; // 0x208a100
|
|
/* 0208A100 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0208A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0208A104 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0208A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0208A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0208A10C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0208A114: ; // 0x208a114
|
|
/* 0208A114 */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A118 */ Gambit_fn_0208A040(cpu);
|
|
/* 0208A11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A120 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0208A124 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0208A128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0208A12C */ cpu->lr = cpu->r[0];
|
|
/* 0208A130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0208A134 */ return;
|
|
L_020995A0: ; // 0x20995a0
|
|
/* 020995A0 */ cpu->r[3] = cpu->r[3] + 0x000001E0u;
|
|
/* 020995A4 */ goto L_0208A0C8;
|
|
}
|
|
|
|
// fn_020995A8 @ 0x20995a8
|
|
void Gambit_fn_020995A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_020995A8: ; // 0x20995a8
|
|
/* 020995A8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 020995AC */ goto L_02099734;
|
|
L_02099734: ; // 0x2099734
|
|
/* 02099734 */ cpu->r[0] = cpu->lr;
|
|
/* 02099738 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099738 */ cpu->r[1] = _t0;
|
|
/* 0209973C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209973C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099740 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02099740 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099744 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099748 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209974C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209974C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099750 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099750 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02099750 */ if (_t5) goto L_020997C0; else goto L_02099754;
|
|
L_02099754: ; // 0x2099754
|
|
/* 02099754 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099758 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209975C */ cpu->r[0] = cpu->r[0] + 0x00000580u;
|
|
/* 02099760 */ cpu->r[12] = cpu->r[12] + 0x000005A0u;
|
|
/* 02099764 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099764 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099768 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209976C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209976C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02099770 */ cpu->r[11] = cpu->r[11] + 0x00000590u;
|
|
/* 02099774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099778 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099778 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209977C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209977C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209977C */ if (_t10) goto L_020997B0; else goto L_02099780;
|
|
L_02099780: ; // 0x2099780
|
|
/* 02099780 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099784 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099788 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209978C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02099790 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099794 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099794 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099798 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209979C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209979C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020997A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020997A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020997A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020997A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020997AC */ Gambit_fn_02068798(cpu);
|
|
L_020997B0: ; // 0x20997b0
|
|
/* 020997B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020997B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020997B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020997B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020997B4 */ if (_t15) goto L_020997C0; else goto L_020997B8;
|
|
L_020997B8: ; // 0x20997b8
|
|
/* 020997B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020997BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020997C0: ; // 0x20997c0
|
|
/* 020997C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020997C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020997C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020997C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020997C8 */ cpu->lr = cpu->r[0];
|
|
/* 020997CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020997CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020997D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020997D4 */ return;
|
|
}
|
|
|
|
// fn_020995B0 @ 0x20995b0
|
|
void Gambit_fn_020995B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_020995B0: ; // 0x20995b0
|
|
/* 020995B0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020995B4 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_020995B8 @ 0x20995b8
|
|
void Gambit_fn_020995B8(CPUState* cpu) {
|
|
L_020995B8: ; // 0x20995b8
|
|
/* 020995B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020995BC */ goto L_020997D8;
|
|
L_020997D8: ; // 0x20997d8
|
|
/* 020997D8 */ return;
|
|
}
|
|
|
|
// fn_020995C0 @ 0x20995c0
|
|
void Gambit_fn_020995C0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020995C0: ; // 0x20995c0
|
|
/* 020995C0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 020995C4 */ goto L_020997DC;
|
|
L_020997DC: ; // 0x20997dc
|
|
/* 020997DC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020997DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020997E0 */ return;
|
|
}
|
|
|
|
// fn_020995C8 @ 0x20995c8
|
|
void Gambit_fn_020995C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020995C8: ; // 0x20995c8
|
|
/* 020995C8 */ cpu->r[0] = cpu->lr;
|
|
/* 020995CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020995CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020995CC */ cpu->r[1] = _t0;
|
|
/* 020995D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020995D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020995D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020995D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020995D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020995D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020995DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020995DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 020995DC */ if (_t4) goto L_020995E0; else goto L_020995F0;
|
|
L_020995E0: ; // 0x20995e0
|
|
/* 020995E0 */ cpu->r[3] = 0x00000220u;
|
|
/* 020995E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 020995E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020995E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020995EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020995EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 020995EC */ if (_t6) goto L_02099640; else goto L_020995F0;
|
|
L_020995F0: ; // 0x20995f0
|
|
/* 020995F0 */ cpu->r[4] = 0x10010000u;
|
|
/* 020995F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 020995F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020995FC */ cpu->r[4] = cpu->r[4] + 0x0000037Cu;
|
|
/* 02099600 */ cpu->r[6] = cpu->r[5];
|
|
/* 02099604 */ Gambit_fn_020B6F60(cpu);
|
|
/* 02099608 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209960C */ cpu->r[11] = 0x10010000u;
|
|
/* 02099610 */ cpu->r[12] = cpu->r[12] + 0x00000580u;
|
|
/* 02099614 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099618 */ cpu->r[11] = cpu->r[11] + 0x000003A0u;
|
|
/* 0209961C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209961C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02099620 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099624 */ cpu->r[0] = cpu->r[0] + 0x00000590u;
|
|
/* 02099628 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02099628 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209962C */ cpu->r[12] = cpu->r[12] + 0x000005A0u;
|
|
/* 02099630 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02099630 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02099634 */ cpu->r[10] = 0x00000000u;
|
|
/* 02099638 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02099638 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209963C */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209963C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_02099640: ; // 0x2099640
|
|
/* 02099640 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02099640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02099644 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099648 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209964C */ cpu->lr = cpu->r[0];
|
|
/* 02099650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099654 */ return;
|
|
}
|
|
|
|
// fn_020995CC @ 0x20995cc
|
|
void Gambit_fn_020995CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020995CC: ; // 0x20995cc
|
|
/* 020995CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020995CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020995CC */ cpu->r[1] = _t0;
|
|
/* 020995D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020995D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020995D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 020995D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020995D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020995D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020995DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020995DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 020995DC */ if (_t4) goto L_020995E0; else goto L_020995F0;
|
|
L_020995E0: ; // 0x20995e0
|
|
/* 020995E0 */ cpu->r[3] = 0x00000220u;
|
|
/* 020995E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 020995E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020995E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020995EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020995EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 020995EC */ if (_t6) goto L_02099640; else goto L_020995F0;
|
|
L_020995F0: ; // 0x20995f0
|
|
/* 020995F0 */ cpu->r[4] = 0x10010000u;
|
|
/* 020995F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 020995F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020995FC */ cpu->r[4] = cpu->r[4] + 0x0000037Cu;
|
|
/* 02099600 */ cpu->r[6] = cpu->r[5];
|
|
/* 02099604 */ Gambit_fn_020B6F60(cpu);
|
|
/* 02099608 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209960C */ cpu->r[11] = 0x10010000u;
|
|
/* 02099610 */ cpu->r[12] = cpu->r[12] + 0x00000580u;
|
|
/* 02099614 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099618 */ cpu->r[11] = cpu->r[11] + 0x000003A0u;
|
|
/* 0209961C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209961C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02099620 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099624 */ cpu->r[0] = cpu->r[0] + 0x00000590u;
|
|
/* 02099628 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02099628 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209962C */ cpu->r[12] = cpu->r[12] + 0x000005A0u;
|
|
/* 02099630 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02099630 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02099634 */ cpu->r[10] = 0x00000000u;
|
|
/* 02099638 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02099638 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209963C */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209963C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_02099640: ; // 0x2099640
|
|
/* 02099640 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02099640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02099644 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099648 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209964C */ cpu->lr = cpu->r[0];
|
|
/* 02099650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099654 */ return;
|
|
}
|
|
|
|
// fn_02099674 @ 0x2099674
|
|
void Gambit_fn_02099674(CPUState* 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_02099674: ; // 0x2099674
|
|
/* 02099674 */ cpu->r[0] = cpu->lr;
|
|
/* 02099678 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099678 */ cpu->r[1] = _t0;
|
|
/* 0209967C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209967C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099680 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099684 */ cpu->r[12] = cpu->r[12] + 0x00000354u;
|
|
/* 02099688 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209968C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209968C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099690 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099690 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099694 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099698 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099698 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209969C */ cpu->r[0] = cpu->r[0] + 0x00000390u;
|
|
/* 020996A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 020996A4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 020996A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020996A8 */ Gambit_fn_026D86B0(cpu);
|
|
/* 020996AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 020996B0 */ _t6 = cpu->r[11] + 0xFFFFDBA0u;
|
|
/* 020996B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020996B0 */ cpu->r[11] = _t6;
|
|
/* 020996B4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 020996B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020996BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020996C0 */ cpu->r[4] = cpu->r[4] + 0xFFFFED90u;
|
|
/* 020996C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020996C4 */ if (_t8) goto L_020996C8; else goto L_020996DC;
|
|
L_020996C8: ; // 0x20996c8
|
|
/* 020996C8 */ cpu->r[8] = 0x10010000u;
|
|
/* 020996CC */ cpu->r[7] = 0x00000001u;
|
|
/* 020996D0 */ cpu->r[8] = cpu->r[8] + 0x0000036Cu;
|
|
/* 020996D4 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 020996D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020996D8 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 020996D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_020996DC: ; // 0x20996dc
|
|
/* 020996DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020996E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020996E0 */ if (_t12) goto L_02099700; else goto L_020996E4;
|
|
L_020996E4: ; // 0x20996e4
|
|
/* 020996E4 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 020996E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020996E8 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 020996E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020996EC */ cpu->ctr = cpu->r[0];
|
|
/* 020996F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020996F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020996F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020996FC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 020996FC */ if (_t16) goto L_02099700; else goto L_02099704;
|
|
L_02099700: ; // 0x2099700
|
|
/* 02099700 */ cpu->r[31] = 0x00000000u;
|
|
L_02099704: ; // 0x2099704
|
|
/* 02099704 */ _t17 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02099704 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02099708 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209970C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0209970C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02099710 */ cpu->lr = cpu->r[0];
|
|
/* 02099714 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02099714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02099718 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209971C */ return;
|
|
}
|
|
|
|
// fn_02099678 @ 0x2099678
|
|
void Gambit_fn_02099678(CPUState* 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_02099678: ; // 0x2099678
|
|
/* 02099678 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099678 */ cpu->r[1] = _t0;
|
|
/* 0209967C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209967C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099680 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099684 */ cpu->r[12] = cpu->r[12] + 0x00000354u;
|
|
/* 02099688 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209968C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209968C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099690 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099690 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099694 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099698 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099698 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209969C */ cpu->r[0] = cpu->r[0] + 0x00000390u;
|
|
/* 020996A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 020996A4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 020996A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020996A8 */ Gambit_fn_026D86B0(cpu);
|
|
/* 020996AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 020996B0 */ _t6 = cpu->r[11] + 0xFFFFDBA0u;
|
|
/* 020996B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020996B0 */ cpu->r[11] = _t6;
|
|
/* 020996B4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 020996B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020996BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020996C0 */ cpu->r[4] = cpu->r[4] + 0xFFFFED90u;
|
|
/* 020996C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 020996C4 */ if (_t8) goto L_020996C8; else goto L_020996DC;
|
|
L_020996C8: ; // 0x20996c8
|
|
/* 020996C8 */ cpu->r[8] = 0x10010000u;
|
|
/* 020996CC */ cpu->r[7] = 0x00000001u;
|
|
/* 020996D0 */ cpu->r[8] = cpu->r[8] + 0x0000036Cu;
|
|
/* 020996D4 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 020996D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 020996D8 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 020996D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_020996DC: ; // 0x20996dc
|
|
/* 020996DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 020996E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020996E0 */ if (_t12) goto L_02099700; else goto L_020996E4;
|
|
L_020996E4: ; // 0x20996e4
|
|
/* 020996E4 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 020996E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020996E8 */ _t14 = cpu->r[9] + 0x0000001Cu;
|
|
/* 020996E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020996EC */ cpu->ctr = cpu->r[0];
|
|
/* 020996F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020996F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020996F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020996FC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020996FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 020996FC */ if (_t16) goto L_02099700; else goto L_02099704;
|
|
L_02099700: ; // 0x2099700
|
|
/* 02099700 */ cpu->r[31] = 0x00000000u;
|
|
L_02099704: ; // 0x2099704
|
|
/* 02099704 */ _t17 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02099704 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02099708 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209970C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0209970C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02099710 */ cpu->lr = cpu->r[0];
|
|
/* 02099714 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02099714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02099718 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209971C */ return;
|
|
}
|
|
|
|
// fn_02099720 @ 0x2099720
|
|
void Gambit_fn_02099720(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_02099720: ; // 0x2099720
|
|
/* 02099720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099724 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099724 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02099724 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02099724 */ goto L_02099728;
|
|
L_02099728: ; // 0x2099728
|
|
/* 02099728 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02099728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209972C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209972C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209972C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209972C */ goto L_02099730;
|
|
L_02099730: ; // 0x2099730
|
|
/* 02099730 */ 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_02099734 @ 0x2099734
|
|
void Gambit_fn_02099734(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02099734: ; // 0x2099734
|
|
/* 02099734 */ cpu->r[0] = cpu->lr;
|
|
/* 02099738 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099738 */ cpu->r[1] = _t0;
|
|
/* 0209973C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209973C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099740 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02099740 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099744 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099748 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209974C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209974C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099750 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099750 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02099750 */ if (_t5) goto L_020997C0; else goto L_02099754;
|
|
L_02099754: ; // 0x2099754
|
|
/* 02099754 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099758 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209975C */ cpu->r[0] = cpu->r[0] + 0x00000580u;
|
|
/* 02099760 */ cpu->r[12] = cpu->r[12] + 0x000005A0u;
|
|
/* 02099764 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099764 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099768 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209976C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209976C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02099770 */ cpu->r[11] = cpu->r[11] + 0x00000590u;
|
|
/* 02099774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099778 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099778 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209977C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209977C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209977C */ if (_t10) goto L_020997B0; else goto L_02099780;
|
|
L_02099780: ; // 0x2099780
|
|
/* 02099780 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099784 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099788 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209978C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02099790 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099794 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099794 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099798 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209979C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209979C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020997A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020997A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020997A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020997A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020997AC */ Gambit_fn_02068798(cpu);
|
|
L_020997B0: ; // 0x20997b0
|
|
/* 020997B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020997B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020997B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020997B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020997B4 */ if (_t15) goto L_020997C0; else goto L_020997B8;
|
|
L_020997B8: ; // 0x20997b8
|
|
/* 020997B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020997BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020997C0: ; // 0x20997c0
|
|
/* 020997C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020997C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020997C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020997C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020997C8 */ cpu->lr = cpu->r[0];
|
|
/* 020997CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020997CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020997D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020997D4 */ return;
|
|
}
|
|
|
|
// fn_02099738 @ 0x2099738
|
|
void Gambit_fn_02099738(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02099738: ; // 0x2099738
|
|
/* 02099738 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099738 */ cpu->r[1] = _t0;
|
|
/* 0209973C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209973C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099740 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02099740 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099744 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099748 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209974C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209974C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099750 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099750 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02099750 */ if (_t5) goto L_020997C0; else goto L_02099754;
|
|
L_02099754: ; // 0x2099754
|
|
/* 02099754 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099758 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209975C */ cpu->r[0] = cpu->r[0] + 0x00000580u;
|
|
/* 02099760 */ cpu->r[12] = cpu->r[12] + 0x000005A0u;
|
|
/* 02099764 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099764 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099768 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209976C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209976C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02099770 */ cpu->r[11] = cpu->r[11] + 0x00000590u;
|
|
/* 02099774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02099778 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02099778 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209977C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209977C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209977C */ if (_t10) goto L_020997B0; else goto L_02099780;
|
|
L_02099780: ; // 0x2099780
|
|
/* 02099780 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099784 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099788 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209978C */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 02099790 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099794 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02099794 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099798 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209979C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209979C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 020997A0 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 020997A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020997A8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 020997A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 020997AC */ Gambit_fn_02068798(cpu);
|
|
L_020997B0: ; // 0x20997b0
|
|
/* 020997B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020997B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020997B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020997B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020997B4 */ if (_t15) goto L_020997C0; else goto L_020997B8;
|
|
L_020997B8: ; // 0x20997b8
|
|
/* 020997B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 020997BC */ Gambit_fn_02801BB0(cpu);
|
|
L_020997C0: ; // 0x20997c0
|
|
/* 020997C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 020997C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020997C4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020997C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020997C8 */ cpu->lr = cpu->r[0];
|
|
/* 020997CC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020997CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020997D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020997D4 */ return;
|
|
}
|
|
|
|
// fn_020997D8 @ 0x20997d8
|
|
void Gambit_fn_020997D8(CPUState* cpu) {
|
|
L_020997D8: ; // 0x20997d8
|
|
/* 020997D8 */ return;
|
|
}
|
|
|
|
// fn_020997DC @ 0x20997dc
|
|
void Gambit_fn_020997DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020997DC: ; // 0x20997dc
|
|
/* 020997DC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020997DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020997E0 */ return;
|
|
}
|
|
|
|
// fn_020997E4 @ 0x20997e4
|
|
void Gambit_fn_020997E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020997E4: ; // 0x20997e4
|
|
/* 020997E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 020997E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020997E8 */ return;
|
|
}
|
|
|
|
// fn_020997EC @ 0x20997ec
|
|
void Gambit_fn_020997EC(CPUState* cpu) {
|
|
L_020997EC: ; // 0x20997ec
|
|
/* 020997EC */ return;
|
|
}
|
|
|
|
// fn_020997F0 @ 0x20997f0
|
|
void Gambit_fn_020997F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_020997F0: ; // 0x20997f0
|
|
/* 020997F0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 020997F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020997F4 */ return;
|
|
}
|
|
|
|
// fn_020997F8 @ 0x20997f8
|
|
void Gambit_fn_020997F8(CPUState* cpu) {
|
|
L_020997F8: ; // 0x20997f8
|
|
/* 020997F8 */ return;
|
|
}
|
|
|
|
// fn_020997FC @ 0x20997fc
|
|
void Gambit_fn_020997FC(CPUState* cpu) {
|
|
L_020997FC: ; // 0x20997fc
|
|
/* 020997FC */ return;
|
|
}
|
|
|
|
// fn_02099800 @ 0x2099800
|
|
void Gambit_fn_02099800(CPUState* cpu) {
|
|
L_02099800: ; // 0x2099800
|
|
/* 02099800 */ return;
|
|
}
|
|
|
|
// fn_02099804 @ 0x2099804
|
|
void Gambit_fn_02099804(CPUState* cpu) {
|
|
L_02099804: ; // 0x2099804
|
|
/* 02099804 */ return;
|
|
}
|
|
|
|
// fn_02099808 @ 0x2099808
|
|
void Gambit_fn_02099808(CPUState* cpu) {
|
|
L_02099808: ; // 0x2099808
|
|
/* 02099808 */ return;
|
|
}
|
|
|
|
// fn_0209980C @ 0x209980c
|
|
void Gambit_fn_0209980C(CPUState* cpu) {
|
|
L_0209980C: ; // 0x209980c
|
|
/* 0209980C */ cpu->r[3] = 0x00000001u;
|
|
/* 02099810 */ return;
|
|
}
|
|
|
|
// fn_02099814 @ 0x2099814
|
|
void Gambit_fn_02099814(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02099814: ; // 0x2099814
|
|
/* 02099814 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02099814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099818 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02099818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209981C */ cpu->ctr = cpu->r[0];
|
|
/* 02099820 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02099824 @ 0x2099824
|
|
void Gambit_fn_02099824(CPUState* cpu) {
|
|
L_02099824: ; // 0x2099824
|
|
/* 02099824 */ return;
|
|
}
|
|
|
|
// fn_02099828 @ 0x2099828
|
|
void Gambit_fn_02099828(CPUState* cpu) {
|
|
L_02099828: ; // 0x2099828
|
|
/* 02099828 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209982C */ return;
|
|
}
|
|
|
|
// fn_02099830 @ 0x2099830
|
|
void Gambit_fn_02099830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02099830: ; // 0x2099830
|
|
/* 02099830 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02099834 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02099834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099834 */ cpu->r[9] = _t0;
|
|
/* 02099838 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209983C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099840 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02099844 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099844 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02099844 */ if (_t2) goto L_02099848; else goto L_0209985C;
|
|
L_02099848: ; // 0x2099848
|
|
/* 02099848 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209984C */ cpu->r[0] = 0x00000001u;
|
|
/* 02099850 */ cpu->r[7] = cpu->r[7] + 0x0000036Cu;
|
|
/* 02099854 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02099854 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099858 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02099858 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0209985C: ; // 0x209985c
|
|
/* 0209985C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02099860 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099860 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099860 */ if (_t6) goto L_02099864; else goto L_0209986C;
|
|
L_02099864: ; // 0x2099864
|
|
/* 02099864 */ cpu->r[3] = 0x00000001u;
|
|
/* 02099868 */ return;
|
|
L_0209986C: ; // 0x209986c
|
|
/* 0209986C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02099870 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02099870 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099870 */ cpu->r[7] = _t7;
|
|
/* 02099874 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02099878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209987C */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02099880 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099880 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02099880 */ if (_t9) goto L_02099884; else goto L_02099898;
|
|
L_02099884: ; // 0x2099884
|
|
/* 02099884 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099888 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209988C */ cpu->r[0] = cpu->r[0] + 0x00000344u;
|
|
/* 02099890 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02099890 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02099894 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02099894 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02099898: ; // 0x2099898
|
|
/* 02099898 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209989C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 020998A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 020998A4 */ return;
|
|
}
|
|
|
|
// fn_020998A8 @ 0x20998a8
|
|
void Gambit_fn_020998A8(CPUState* cpu) {
|
|
L_020998A8: ; // 0x20998a8
|
|
/* 020998A8 */ return;
|
|
}
|
|
|
|
// fn_020998AC @ 0x20998ac
|
|
void Gambit_fn_020998AC(CPUState* cpu) {
|
|
L_020998AC: ; // 0x20998ac
|
|
/* 020998AC */ return;
|
|
}
|
|
|
|
// fn_020998B0 @ 0x20998b0
|
|
void Gambit_fn_020998B0(CPUState* cpu) {
|
|
L_020998B0: ; // 0x20998b0
|
|
/* 020998B0 */ return;
|
|
}
|
|
|
|
// fn_020998B4 @ 0x20998b4
|
|
void Gambit_fn_020998B4(CPUState* cpu) {
|
|
L_020998B4: ; // 0x20998b4
|
|
/* 020998B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 020998B8 */ return;
|
|
}
|
|
|
|
// fn_020998BC @ 0x20998bc
|
|
void Gambit_fn_020998BC(CPUState* cpu) {
|
|
L_020998BC: ; // 0x20998bc
|
|
/* 020998BC */ cpu->r[3] = 0x00000000u;
|
|
/* 020998C0 */ return;
|
|
}
|
|
|
|
// fn_020998C4 @ 0x20998c4
|
|
void Gambit_fn_020998C4(CPUState* cpu) {
|
|
L_020998C4: ; // 0x20998c4
|
|
/* 020998C4 */ return;
|
|
}
|
|
|
|
// fn_020998C8 @ 0x20998c8
|
|
void Gambit_fn_020998C8(CPUState* cpu) {
|
|
L_020998C8: ; // 0x20998c8
|
|
/* 020998C8 */ return;
|
|
}
|
|
|
|
// fn_020998CC @ 0x20998cc
|
|
void Gambit_fn_020998CC(CPUState* cpu) {
|
|
L_020998CC: ; // 0x20998cc
|
|
/* 020998CC */ return;
|
|
}
|
|
|
|
// fn_020998D0 @ 0x20998d0
|
|
void Gambit_fn_020998D0(CPUState* cpu) {
|
|
L_020998D0: ; // 0x20998d0
|
|
/* 020998D0 */ return;
|
|
}
|
|
|
|
// fn_020998D4 @ 0x20998d4
|
|
void Gambit_fn_020998D4(CPUState* cpu) {
|
|
L_020998D4: ; // 0x20998d4
|
|
/* 020998D4 */ return;
|
|
}
|
|
|
|
// fn_020998D8 @ 0x20998d8
|
|
void Gambit_fn_020998D8(CPUState* cpu) {
|
|
L_020998D8: ; // 0x20998d8
|
|
/* 020998D8 */ return;
|
|
}
|
|
|
|
// fn_020998DC @ 0x20998dc
|
|
void Gambit_fn_020998DC(CPUState* cpu) {
|
|
L_020998DC: ; // 0x20998dc
|
|
/* 020998DC */ return;
|
|
}
|
|
|
|
// fn_020998E0 @ 0x20998e0
|
|
void Gambit_fn_020998E0(CPUState* cpu) {
|
|
L_020998E0: ; // 0x20998e0
|
|
/* 020998E0 */ return;
|
|
}
|
|
|
|
// fn_020998E4 @ 0x20998e4
|
|
void Gambit_fn_020998E4(CPUState* cpu) {
|
|
L_020998E4: ; // 0x20998e4
|
|
/* 020998E4 */ return;
|
|
}
|
|
|
|
// fn_020998E8 @ 0x20998e8
|
|
void Gambit_fn_020998E8(CPUState* cpu) {
|
|
L_020998E8: ; // 0x20998e8
|
|
/* 020998E8 */ return;
|
|
}
|
|
|
|
// fn_020998EC @ 0x20998ec
|
|
void Gambit_fn_020998EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_020998EC: ; // 0x20998ec
|
|
/* 020998EC */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 020998F0 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_020998F4 @ 0x20998f4
|
|
void Gambit_fn_020998F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_020998F4: ; // 0x20998f4
|
|
/* 020998F4 */ cpu->r[7] = 0xFFFFFFFDu;
|
|
/* 020998F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020998F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020998F8 */ cpu->r[1] = _t0;
|
|
/* 020998FC */ cpu->r[12] = 0x101E0000u;
|
|
/* 02099900 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02099904 */ _t1 = cpu->r[12] + 0xFFFFD988u;
|
|
/* 02099904 */ rbrew_write32(cpu->mem, _t1, cpu->r[7]);
|
|
/* 02099904 */ cpu->r[12] = _t1;
|
|
/* 02099908 */ cpu->r[9] = 0x101E0000u;
|
|
/* 0209990C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0209990C */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 02099910 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02099914 */ _t3 = cpu->r[9] + 0xFFFFD9A0u;
|
|
/* 02099914 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 02099914 */ cpu->r[9] = _t3;
|
|
/* 02099918 */ _t4 = cpu->r[11] + 0xFFFFD998u;
|
|
/* 02099918 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 02099918 */ cpu->r[11] = _t4;
|
|
/* 0209991C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099920 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 02099924 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02099924 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02099928 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209992C */ _t6 = cpu->r[10] + 0xFFFFD990u;
|
|
/* 0209992C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209992C */ cpu->r[10] = _t6;
|
|
/* 02099930 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099934 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 02099934 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02099938 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02099938 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0209993C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099940 */ cpu->r[8] = 0x00000002u;
|
|
/* 02099944 */ _t9 = cpu->r[11] + 0xFFFFD9A8u;
|
|
/* 02099944 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02099944 */ cpu->r[11] = _t9;
|
|
/* 02099948 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209994C */ cpu->r[10] = cpu->r[10] + 0xFFFFD9B4u;
|
|
/* 02099950 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02099950 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02099954 */ cpu->r[0] = cpu->r[0] + 0x00000628u;
|
|
/* 02099958 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02099958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209995C */ cpu->r[7] = cpu->r[7] + 0x000006B8u;
|
|
/* 02099960 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02099960 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02099964 */ cpu->r[8] = 0x10010000u;
|
|
/* 02099968 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 02099968 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0209996C */ cpu->r[8] = cpu->r[8] + 0x000006CCu;
|
|
/* 02099970 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02099970 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02099974 */ cpu->r[0] = 0x00000004u;
|
|
/* 02099978 */ _t15 = cpu->r[10] + 0x00000008u;
|
|
/* 02099978 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0209997C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099980 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02099980 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02099984 */ _t17 = cpu->r[10] + 0xFFFFD9B0u;
|
|
/* 02099984 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02099988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209998C */ return;
|
|
}
|
|
|
|
// fn_020998F8 @ 0x20998f8
|
|
void Gambit_fn_020998F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_020998F8: ; // 0x20998f8
|
|
/* 020998F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020998F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020998F8 */ cpu->r[1] = _t0;
|
|
/* 020998FC */ cpu->r[12] = 0x101E0000u;
|
|
/* 02099900 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02099904 */ _t1 = cpu->r[12] + 0xFFFFD988u;
|
|
/* 02099904 */ rbrew_write32(cpu->mem, _t1, cpu->r[7]);
|
|
/* 02099904 */ cpu->r[12] = _t1;
|
|
/* 02099908 */ cpu->r[9] = 0x101E0000u;
|
|
/* 0209990C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0209990C */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 02099910 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02099914 */ _t3 = cpu->r[9] + 0xFFFFD9A0u;
|
|
/* 02099914 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 02099914 */ cpu->r[9] = _t3;
|
|
/* 02099918 */ _t4 = cpu->r[11] + 0xFFFFD998u;
|
|
/* 02099918 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 02099918 */ cpu->r[11] = _t4;
|
|
/* 0209991C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099920 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 02099924 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02099924 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02099928 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209992C */ _t6 = cpu->r[10] + 0xFFFFD990u;
|
|
/* 0209992C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209992C */ cpu->r[10] = _t6;
|
|
/* 02099930 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099934 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 02099934 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02099938 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02099938 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0209993C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099940 */ cpu->r[8] = 0x00000002u;
|
|
/* 02099944 */ _t9 = cpu->r[11] + 0xFFFFD9A8u;
|
|
/* 02099944 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02099944 */ cpu->r[11] = _t9;
|
|
/* 02099948 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209994C */ cpu->r[10] = cpu->r[10] + 0xFFFFD9B4u;
|
|
/* 02099950 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02099950 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02099954 */ cpu->r[0] = cpu->r[0] + 0x00000628u;
|
|
/* 02099958 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02099958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209995C */ cpu->r[7] = cpu->r[7] + 0x000006B8u;
|
|
/* 02099960 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02099960 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02099964 */ cpu->r[8] = 0x10010000u;
|
|
/* 02099968 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 02099968 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0209996C */ cpu->r[8] = cpu->r[8] + 0x000006CCu;
|
|
/* 02099970 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02099970 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02099974 */ cpu->r[0] = 0x00000004u;
|
|
/* 02099978 */ _t15 = cpu->r[10] + 0x00000008u;
|
|
/* 02099978 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0209997C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02099980 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02099980 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02099984 */ _t17 = cpu->r[10] + 0xFFFFD9B0u;
|
|
/* 02099984 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02099988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209998C */ return;
|
|
}
|
|
|
|
// fn_02099990 @ 0x2099990
|
|
void Gambit_fn_02099990(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_02099990: ; // 0x2099990
|
|
/* 02099990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099994 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099994 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02099994 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02099994 */ goto L_02099998;
|
|
L_02099998: ; // 0x2099998
|
|
/* 02099998 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02099998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209999C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209999C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209999C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209999C */ goto L_020999A0;
|
|
L_020999A0: ; // 0x20999a0
|
|
/* 020999A0 */ 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_020999A4 @ 0x20999a4
|
|
void Gambit_fn_020999A4(CPUState* cpu) {
|
|
L_020999A4: ; // 0x20999a4
|
|
/* 020999A4 */ return;
|
|
}
|
|
|
|
// fn_020999A8 @ 0x20999a8
|
|
void Gambit_fn_020999A8(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_020999A8: ; // 0x20999a8
|
|
/* 020999A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020999AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 020999AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999AC */ goto L_020999B0;
|
|
L_020999B0: ; // 0x20999b0
|
|
/* 020999B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020999B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020999B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020999B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999B4 */ goto L_020999B8;
|
|
L_020999B8: ; // 0x20999b8
|
|
/* 020999B8 */ 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_020999BC @ 0x20999bc
|
|
void Gambit_fn_020999BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_020999BC: ; // 0x20999bc
|
|
/* 020999BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 020999BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020999C0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 020999C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020999C4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 020999C8 */ cpu->r[11] = 0x10110000u;
|
|
/* 020999CC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 020999CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 020999D0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 020999D0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 020999D4 */ return;
|
|
}
|
|
|
|
// fn_020999D8 @ 0x20999d8
|
|
void Gambit_fn_020999D8(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_020999D8: ; // 0x20999d8
|
|
/* 020999D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020999DC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999DC */ _t1 = _t0 & 0x00000001u;
|
|
/* 020999DC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999DC */ goto L_020999E0;
|
|
L_020999E0: ; // 0x20999e0
|
|
/* 020999E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020999E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020999E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020999E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999E4 */ goto L_020999E8;
|
|
L_020999E8: ; // 0x20999e8
|
|
/* 020999E8 */ 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_020999EC @ 0x20999ec
|
|
void Gambit_fn_020999EC(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_020999EC: ; // 0x20999ec
|
|
/* 020999EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020999F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 020999F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999F0 */ goto L_020999F4;
|
|
L_020999F4: ; // 0x20999f4
|
|
/* 020999F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020999F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020999F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020999F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020999F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020999F8 */ goto L_020999FC;
|
|
L_020999FC: ; // 0x20999fc
|
|
/* 020999FC */ 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_02099A00 @ 0x2099a00
|
|
void Gambit_fn_02099A00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02099A00: ; // 0x2099a00
|
|
/* 02099A00 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02099A04 */ goto L_0209A13C;
|
|
L_0209A13C: ; // 0x209a13c
|
|
/* 0209A13C */ cpu->r[0] = cpu->lr;
|
|
/* 0209A140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A140 */ cpu->r[1] = _t0;
|
|
/* 0209A144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209A14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209A154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A158 */ if (_t5) goto L_0209A1C8; else goto L_0209A15C;
|
|
L_0209A15C: ; // 0x209a15c
|
|
/* 0209A15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209A164 */ cpu->r[0] = cpu->r[0] + 0x000009C8u;
|
|
/* 0209A168 */ cpu->r[12] = cpu->r[12] + 0x000009E8u;
|
|
/* 0209A16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209A174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209A178 */ cpu->r[11] = cpu->r[11] + 0x000009D8u;
|
|
/* 0209A17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209A184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A184 */ if (_t10) goto L_0209A1B8; else goto L_0209A188;
|
|
L_0209A188: ; // 0x209a188
|
|
/* 0209A188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209A18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A190 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209A194 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209A198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209A1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209A1A8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209A1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209A1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209A1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209A1B8: ; // 0x209a1b8
|
|
/* 0209A1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209A1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209A1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A1BC */ if (_t15) goto L_0209A1C8; else goto L_0209A1C0;
|
|
L_0209A1C0: ; // 0x209a1c0
|
|
/* 0209A1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209A1C8: ; // 0x209a1c8
|
|
/* 0209A1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A1DC */ return;
|
|
}
|
|
|
|
// fn_02099A08 @ 0x2099a08
|
|
void Gambit_fn_02099A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02099A08: ; // 0x2099a08
|
|
/* 02099A08 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02099A0C */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02099A10 @ 0x2099a10
|
|
void Gambit_fn_02099A10(CPUState* cpu) {
|
|
L_02099A10: ; // 0x2099a10
|
|
/* 02099A10 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02099A14 */ goto L_0209A1E0;
|
|
L_0209A1E0: ; // 0x209a1e0
|
|
/* 0209A1E0 */ return;
|
|
}
|
|
|
|
// fn_02099A18 @ 0x2099a18
|
|
void Gambit_fn_02099A18(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02099A18: ; // 0x2099a18
|
|
/* 02099A18 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02099A1C */ goto L_0209A1E4;
|
|
L_0209A1E4: ; // 0x209a1e4
|
|
/* 0209A1E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209A1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A1E8 */ return;
|
|
}
|
|
|
|
// fn_02099A20 @ 0x2099a20
|
|
void Gambit_fn_02099A20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02099A20: ; // 0x2099a20
|
|
/* 02099A20 */ cpu->r[0] = cpu->lr;
|
|
/* 02099A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099A24 */ cpu->r[1] = _t0;
|
|
/* 02099A28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099A2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099A30 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099A34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099A34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02099A34 */ if (_t4) goto L_02099A38; else goto L_02099A48;
|
|
L_02099A38: ; // 0x2099a38
|
|
/* 02099A38 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 02099A3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02099A40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099A44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099A44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099A44 */ if (_t6) goto L_02099AAC; else goto L_02099A48;
|
|
L_02099A48: ; // 0x2099a48
|
|
/* 02099A48 */ cpu->r[4] = 0x10010000u;
|
|
/* 02099A4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099A50 */ cpu->r[6] = 0x00000000u;
|
|
/* 02099A54 */ cpu->r[4] = cpu->r[4] + 0x00000718u;
|
|
/* 02099A58 */ cpu->r[5] = 0x00000001u;
|
|
/* 02099A5C */ Gambit_fn_020B6F60(cpu);
|
|
/* 02099A60 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099A64 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099A68 */ cpu->r[11] = cpu->r[11] + 0x000007E8u;
|
|
/* 02099A6C */ cpu->r[12] = cpu->r[12] + 0x000009C8u;
|
|
/* 02099A70 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02099A70 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02099A74 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02099A78 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099A7C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02099A7C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02099A80 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099A84 */ cpu->r[0] = cpu->r[0] + 0x000009D8u;
|
|
/* 02099A88 */ _t9 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099A88 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02099A8C */ cpu->r[10] = cpu->r[10] + 0x000009E8u;
|
|
/* 02099A90 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02099A90 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02099A94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02099A98 */ _t11 = cpu->r[31] + 0x000001C8u;
|
|
/* 02099A98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02099A9C */ cpu->r[12] = 0x00000001u;
|
|
/* 02099AA0 */ _t12 = cpu->r[31] + 0x00000228u;
|
|
/* 02099AA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02099AA4 */ _t13 = cpu->r[31] + 0x00000220u;
|
|
/* 02099AA4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02099AA8 */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 02099AA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02099AAC: ; // 0x2099aac
|
|
/* 02099AAC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02099AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099AB4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099AB8 */ cpu->lr = cpu->r[0];
|
|
/* 02099ABC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099AC0 */ return;
|
|
}
|
|
|
|
// fn_02099A24 @ 0x2099a24
|
|
void Gambit_fn_02099A24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02099A24: ; // 0x2099a24
|
|
/* 02099A24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099A24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099A24 */ cpu->r[1] = _t0;
|
|
/* 02099A28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099A2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099A30 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099A34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099A34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02099A34 */ if (_t4) goto L_02099A38; else goto L_02099A48;
|
|
L_02099A38: ; // 0x2099a38
|
|
/* 02099A38 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 02099A3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02099A40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02099A44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099A44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099A44 */ if (_t6) goto L_02099AAC; else goto L_02099A48;
|
|
L_02099A48: ; // 0x2099a48
|
|
/* 02099A48 */ cpu->r[4] = 0x10010000u;
|
|
/* 02099A4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099A50 */ cpu->r[6] = 0x00000000u;
|
|
/* 02099A54 */ cpu->r[4] = cpu->r[4] + 0x00000718u;
|
|
/* 02099A58 */ cpu->r[5] = 0x00000001u;
|
|
/* 02099A5C */ Gambit_fn_020B6F60(cpu);
|
|
/* 02099A60 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099A64 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099A68 */ cpu->r[11] = cpu->r[11] + 0x000007E8u;
|
|
/* 02099A6C */ cpu->r[12] = cpu->r[12] + 0x000009C8u;
|
|
/* 02099A70 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02099A70 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02099A74 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02099A78 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099A7C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02099A7C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02099A80 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099A84 */ cpu->r[0] = cpu->r[0] + 0x000009D8u;
|
|
/* 02099A88 */ _t9 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099A88 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02099A8C */ cpu->r[10] = cpu->r[10] + 0x000009E8u;
|
|
/* 02099A90 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02099A90 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02099A94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02099A98 */ _t11 = cpu->r[31] + 0x000001C8u;
|
|
/* 02099A98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02099A9C */ cpu->r[12] = 0x00000001u;
|
|
/* 02099AA0 */ _t12 = cpu->r[31] + 0x00000228u;
|
|
/* 02099AA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02099AA4 */ _t13 = cpu->r[31] + 0x00000220u;
|
|
/* 02099AA4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02099AA8 */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 02099AA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02099AAC: ; // 0x2099aac
|
|
/* 02099AAC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02099AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099AB4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099AB8 */ cpu->lr = cpu->r[0];
|
|
/* 02099ABC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099AC0 */ return;
|
|
}
|
|
|
|
// fn_02099AC4 @ 0x2099ac4
|
|
void Gambit_fn_02099AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02099AC4: ; // 0x2099ac4
|
|
/* 02099AC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02099AC8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02099AC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099AC8 */ cpu->r[1] = _t0;
|
|
/* 02099ACC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099ACC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02099AD0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02099AD4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02099AD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099AD8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099AD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02099ADC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02099ADC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02099AE0 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099AE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099AE4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02099AE8 */ _t6 = cpu->r[28] + 0x00000224u;
|
|
/* 02099AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099AEC */ cpu->r[5] = cpu->r[29] + 0x00000030u;
|
|
/* 02099AF0 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02099AF4 */ Gambit_fn_020A79C8(cpu);
|
|
/* 02099AF8 */ _t7 = cpu->r[28] + 0x00000224u;
|
|
/* 02099AF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099AFC */ Gambit_fn_020A9E04(cpu);
|
|
/* 02099B00 */ _t8 = cpu->r[28] + 0x00000224u;
|
|
/* 02099B00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02099B04 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02099B08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02099B0C */ Gambit_fn_0209B4A8(cpu);
|
|
/* 02099B10 */ cpu->r[31] = 0x10010000u;
|
|
/* 02099B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099B18 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099B1C */ cpu->r[31] = cpu->r[31] + 0x00000728u;
|
|
/* 02099B20 */ cpu->r[30] = cpu->r[30] + 0x000006F0u;
|
|
/* 02099B24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099B24 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099B24 */ if (_t10) goto L_02099B68; else goto L_02099B28;
|
|
L_02099B28: ; // 0x2099b28
|
|
/* 02099B28 */ _t11 = cpu->r[28] + 0x00000228u;
|
|
/* 02099B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02099B2C */ cpu->r[5] = cpu->r[29] + 0x0000005Cu;
|
|
/* 02099B30 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02099B34 */ Gambit_fn_020A79C8(cpu);
|
|
/* 02099B38 */ _t12 = cpu->r[28] + 0x00000228u;
|
|
/* 02099B38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02099B3C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02099B40 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099B40 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02099B44 */ cpu->r[3] = cpu->r[28];
|
|
/* 02099B48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099B4C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02099B4C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02099B50 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099B54 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099B58 */ _t15 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02099B5C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02099B60 */ _t16 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B60 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 02099B64 */ goto L_02099B8C;
|
|
L_02099B68: ; // 0x2099b68
|
|
/* 02099B68 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02099B68 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02099B6C */ cpu->r[3] = cpu->r[28];
|
|
/* 02099B70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099B74 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02099B74 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02099B78 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099B7C */ Gambit_fn_027ED624(cpu);
|
|
/* 02099B80 */ _t19 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02099B84 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02099B88 */ _t20 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B88 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
L_02099B8C: ; // 0x2099b8c
|
|
/* 02099B8C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02099B8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02099B90 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099B90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02099B94 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02099B98 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02099B98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02099B9C */ cpu->lr = cpu->r[0];
|
|
/* 02099BA0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02099BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02099BA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02099BA8 */ return;
|
|
}
|
|
|
|
// fn_02099AC8 @ 0x2099ac8
|
|
void Gambit_fn_02099AC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02099AC8: ; // 0x2099ac8
|
|
/* 02099AC8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02099AC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099AC8 */ cpu->r[1] = _t0;
|
|
/* 02099ACC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099ACC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02099AD0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02099AD4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02099AD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099AD8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099AD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02099ADC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02099ADC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02099AE0 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099AE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099AE4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02099AE8 */ _t6 = cpu->r[28] + 0x00000224u;
|
|
/* 02099AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099AEC */ cpu->r[5] = cpu->r[29] + 0x00000030u;
|
|
/* 02099AF0 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02099AF4 */ Gambit_fn_020A79C8(cpu);
|
|
/* 02099AF8 */ _t7 = cpu->r[28] + 0x00000224u;
|
|
/* 02099AF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099AFC */ Gambit_fn_020A9E04(cpu);
|
|
/* 02099B00 */ _t8 = cpu->r[28] + 0x00000224u;
|
|
/* 02099B00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02099B04 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02099B08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02099B0C */ Gambit_fn_0209B4A8(cpu);
|
|
/* 02099B10 */ cpu->r[31] = 0x10010000u;
|
|
/* 02099B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099B18 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099B1C */ cpu->r[31] = cpu->r[31] + 0x00000728u;
|
|
/* 02099B20 */ cpu->r[30] = cpu->r[30] + 0x000006F0u;
|
|
/* 02099B24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099B24 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02099B24 */ if (_t10) goto L_02099B68; else goto L_02099B28;
|
|
L_02099B28: ; // 0x2099b28
|
|
/* 02099B28 */ _t11 = cpu->r[28] + 0x00000228u;
|
|
/* 02099B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02099B2C */ cpu->r[5] = cpu->r[29] + 0x0000005Cu;
|
|
/* 02099B30 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 02099B34 */ Gambit_fn_020A79C8(cpu);
|
|
/* 02099B38 */ _t12 = cpu->r[28] + 0x00000228u;
|
|
/* 02099B38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02099B3C */ Gambit_fn_020A7E60(cpu);
|
|
/* 02099B40 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099B40 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02099B44 */ cpu->r[3] = cpu->r[28];
|
|
/* 02099B48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099B4C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02099B4C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02099B50 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099B54 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099B58 */ _t15 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02099B5C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02099B60 */ _t16 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B60 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 02099B64 */ goto L_02099B8C;
|
|
L_02099B68: ; // 0x2099b68
|
|
/* 02099B68 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02099B68 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02099B6C */ cpu->r[3] = cpu->r[28];
|
|
/* 02099B70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02099B74 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02099B74 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02099B78 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099B7C */ Gambit_fn_027ED624(cpu);
|
|
/* 02099B80 */ _t19 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02099B84 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02099B88 */ _t20 = cpu->r[28] + 0x00000220u;
|
|
/* 02099B88 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
L_02099B8C: ; // 0x2099b8c
|
|
/* 02099B8C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02099B8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02099B90 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099B90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02099B94 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02099B98 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02099B98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02099B9C */ cpu->lr = cpu->r[0];
|
|
/* 02099BA0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02099BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02099BA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02099BA8 */ return;
|
|
}
|
|
|
|
// fn_02099BAC @ 0x2099bac
|
|
void Gambit_fn_02099BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02099BAC: ; // 0x2099bac
|
|
/* 02099BAC */ cpu->r[0] = cpu->lr;
|
|
/* 02099BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099BB0 */ cpu->r[1] = _t0;
|
|
/* 02099BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099BB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099BBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099BBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099BC0 */ Gambit_fn_02099AC4(cpu);
|
|
/* 02099BC4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02099BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02099BC8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02099BCC */ _t4 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099BCC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02099BD0 */ _t5 = cpu->r[12] + 0x00000164u;
|
|
/* 02099BD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02099BD4 */ cpu->ctr = cpu->r[10];
|
|
/* 02099BD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099BDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02099BE0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02099BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099BE4 */ cpu->lr = cpu->r[0];
|
|
/* 02099BE8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099BEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099BF0 */ return;
|
|
}
|
|
|
|
// fn_02099BB0 @ 0x2099bb0
|
|
void Gambit_fn_02099BB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02099BB0: ; // 0x2099bb0
|
|
/* 02099BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099BB0 */ cpu->r[1] = _t0;
|
|
/* 02099BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099BB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099BBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099BBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099BC0 */ Gambit_fn_02099AC4(cpu);
|
|
/* 02099BC4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02099BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02099BC8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02099BCC */ _t4 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099BCC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02099BD0 */ _t5 = cpu->r[12] + 0x00000164u;
|
|
/* 02099BD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02099BD4 */ cpu->ctr = cpu->r[10];
|
|
/* 02099BD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099BDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02099BE0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02099BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099BE4 */ cpu->lr = cpu->r[0];
|
|
/* 02099BE8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099BEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099BF0 */ return;
|
|
}
|
|
|
|
// fn_02099BF4 @ 0x2099bf4
|
|
void Gambit_fn_02099BF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02099BF4: ; // 0x2099bf4
|
|
/* 02099BF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02099BF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099BF8 */ cpu->r[1] = _t0;
|
|
/* 02099BFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099C00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02099C00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099C04 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099C08 */ cpu->r[31] = cpu->r[5];
|
|
/* 02099C0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099C10 */ Gambit_fn_02099AC4(cpu);
|
|
/* 02099C14 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02099C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02099C18 */ _t5 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02099C18 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02099C1C */ _t6 = cpu->r[12] + 0x00000164u;
|
|
/* 02099C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099C20 */ cpu->ctr = cpu->r[0];
|
|
/* 02099C24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02099C2C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099C30 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099C30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02099C34 */ cpu->lr = cpu->r[0];
|
|
/* 02099C38 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02099C38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02099C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099C40 */ return;
|
|
}
|
|
|
|
// fn_02099BF8 @ 0x2099bf8
|
|
void Gambit_fn_02099BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02099BF8: ; // 0x2099bf8
|
|
/* 02099BF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099BF8 */ cpu->r[1] = _t0;
|
|
/* 02099BFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099BFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099C00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02099C00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02099C04 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099C08 */ cpu->r[31] = cpu->r[5];
|
|
/* 02099C0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099C10 */ Gambit_fn_02099AC4(cpu);
|
|
/* 02099C14 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02099C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02099C18 */ _t5 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02099C18 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02099C1C */ _t6 = cpu->r[12] + 0x00000164u;
|
|
/* 02099C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02099C20 */ cpu->ctr = cpu->r[0];
|
|
/* 02099C24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02099C2C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02099C30 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099C30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02099C34 */ cpu->lr = cpu->r[0];
|
|
/* 02099C38 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02099C38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02099C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099C40 */ return;
|
|
}
|
|
|
|
// fn_02099C44 @ 0x2099c44
|
|
void Gambit_fn_02099C44(CPUState* cpu) {
|
|
uint32_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_02099C44: ; // 0x2099c44
|
|
/* 02099C44 */ _t0 = cpu->r[3] + 0x00000224u;
|
|
/* 02099C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099C48 */ goto L_020A9E04;
|
|
L_020A9E04: ; // 0x20a9e04
|
|
/* 020A9E04 */ cpu->r[0] = cpu->lr;
|
|
/* 020A9E08 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020A9E08 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020A9E08 */ cpu->r[1] = _t1;
|
|
/* 020A9E0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A9E0C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 020A9E10 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 020A9E10 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 020A9E14 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 020A9E14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 020A9E18 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 020A9E18 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020A9E1C */ cpu->r[30] = cpu->r[3];
|
|
/* 020A9E20 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020A9E20 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020A9E24 */ _t7 = cpu->r[30] + 0x00000008u;
|
|
/* 020A9E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020A9E28 */ cpu->r[29] = 0x00000000u;
|
|
/* 020A9E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 020A9E30 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A9E30 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020A9E30 */ if (_t9) goto L_020A9E34; else goto L_020A9E70;
|
|
L_020A9E34: ; // 0x20a9e34
|
|
/* 020A9E34 */ cpu->r[31] = 0x00000000u;
|
|
/* 020A9E38 */ cpu->r[28] = cpu->r[31];
|
|
L_020A9E3C: ; // 0x20a9e3c
|
|
/* 020A9E3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 020A9E40 */ cpu->r[4] = 0x00000000u;
|
|
/* 020A9E44 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A9E44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 020A9E44 */ if (_t11) goto L_020A9E48; else goto L_020A9E50;
|
|
L_020A9E48: ; // 0x20a9e48
|
|
/* 020A9E48 */ _t12 = cpu->r[30] + 0x00000010u;
|
|
/* 020A9E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020A9E4C */ _t13 = cpu->r[12] + cpu->r[31];
|
|
/* 020A9E4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
L_020A9E50: ; // 0x20a9e50
|
|
/* 020A9E50 */ cpu->r[3] = cpu->r[30];
|
|
/* 020A9E54 */ Gambit_fn_020A9D7C(cpu);
|
|
/* 020A9E58 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 020A9E58 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 020A9E5C */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 020A9E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020A9E60 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 020A9E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 020A9E68 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 020A9E6C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A9E6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 020A9E6C */ if (_t17) goto L_020A9E3C; else goto L_020A9E70;
|
|
L_020A9E70: ; // 0x20a9e70
|
|
/* 020A9E70 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 020A9E70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020A9E74 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A9E74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020A9E78 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020A9E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020A9E7C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 020A9E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020A9E80 */ cpu->lr = cpu->r[0];
|
|
/* 020A9E84 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 020A9E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020A9E88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020A9E8C */ return;
|
|
}
|
|
|
|
// fn_02099C4C @ 0x2099c4c
|
|
void Gambit_fn_02099C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02099C4C: ; // 0x2099c4c
|
|
/* 02099C4C */ cpu->r[0] = cpu->lr;
|
|
/* 02099C50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099C50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099C50 */ cpu->r[1] = _t0;
|
|
/* 02099C54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099C54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099C58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099C5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099C60 */ _t3 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02099C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099C68 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02099C68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02099C68 */ if (_t5) goto L_02099C8C; else goto L_02099C6C;
|
|
L_02099C6C: ; // 0x2099c6c
|
|
/* 02099C6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02099C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099C70 */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099C70 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02099C74 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02099C74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02099C74 */ if (_t8) goto L_02099C78; else goto L_02099C8C;
|
|
L_02099C78: ; // 0x2099c78
|
|
/* 02099C78 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02099C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02099C7C */ _t10 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02099C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02099C80 */ cpu->ctr = cpu->r[0];
|
|
/* 02099C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02099C8C: ; // 0x2099c8c
|
|
/* 02099C8C */ _t11 = cpu->r[31] + 0x00000224u;
|
|
/* 02099C8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02099C90 */ Gambit_fn_020A9D40(cpu);
|
|
/* 02099C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099C98 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099C98 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02099C98 */ if (_t13) goto L_02099CAC; else goto L_02099C9C;
|
|
L_02099C9C: ; // 0x2099c9c
|
|
/* 02099C9C */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 02099C9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099CA0 */ Gambit_fn_020A9E90(cpu);
|
|
/* 02099CA4 */ _t15 = cpu->r[31] + 0x00000224u;
|
|
/* 02099CA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099CA8 */ Gambit_fn_020A7E60(cpu);
|
|
L_02099CAC: ; // 0x2099cac
|
|
/* 02099CAC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02099CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099CB0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099CB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099CB4 */ cpu->lr = cpu->r[0];
|
|
/* 02099CB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099CBC */ return;
|
|
}
|
|
|
|
// fn_02099C50 @ 0x2099c50
|
|
void Gambit_fn_02099C50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02099C50: ; // 0x2099c50
|
|
/* 02099C50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02099C50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099C50 */ cpu->r[1] = _t0;
|
|
/* 02099C54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099C54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02099C58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099C5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099C5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02099C60 */ _t3 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02099C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099C68 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02099C68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02099C68 */ if (_t5) goto L_02099C8C; else goto L_02099C6C;
|
|
L_02099C6C: ; // 0x2099c6c
|
|
/* 02099C6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02099C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02099C70 */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02099C70 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02099C74 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02099C74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02099C74 */ if (_t8) goto L_02099C78; else goto L_02099C8C;
|
|
L_02099C78: ; // 0x2099c78
|
|
/* 02099C78 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02099C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02099C7C */ _t10 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02099C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02099C80 */ cpu->ctr = cpu->r[0];
|
|
/* 02099C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02099C8C: ; // 0x2099c8c
|
|
/* 02099C8C */ _t11 = cpu->r[31] + 0x00000224u;
|
|
/* 02099C8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02099C90 */ Gambit_fn_020A9D40(cpu);
|
|
/* 02099C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02099C98 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099C98 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02099C98 */ if (_t13) goto L_02099CAC; else goto L_02099C9C;
|
|
L_02099C9C: ; // 0x2099c9c
|
|
/* 02099C9C */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 02099C9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099CA0 */ Gambit_fn_020A9E90(cpu);
|
|
/* 02099CA4 */ _t15 = cpu->r[31] + 0x00000224u;
|
|
/* 02099CA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099CA8 */ Gambit_fn_020A7E60(cpu);
|
|
L_02099CAC: ; // 0x2099cac
|
|
/* 02099CAC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02099CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02099CB0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099CB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099CB4 */ cpu->lr = cpu->r[0];
|
|
/* 02099CB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02099CBC */ return;
|
|
}
|
|
|
|
// fn_02099CC0 @ 0x2099cc0
|
|
void Gambit_fn_02099CC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02099CC0: ; // 0x2099cc0
|
|
/* 02099CC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02099CC4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02099CC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099CC4 */ cpu->r[1] = _t0;
|
|
/* 02099CC8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02099CC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02099CCC */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02099CCC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02099CD0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02099CD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02099CD4 */ cpu->r[28] = 0x10010000u;
|
|
/* 02099CD8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02099CDC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099CDC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02099CE0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02099CE4 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02099CE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099CE8 */ cpu->r[29] = 0x10010000u;
|
|
/* 02099CEC */ cpu->r[28] = cpu->r[28] + 0x000006F0u;
|
|
/* 02099CF0 */ cpu->r[29] = cpu->r[29] + 0x0000074Cu;
|
|
/* 02099CF4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099CF8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099CF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02099CFC */ cpu->r[0] = cpu->r[0] + 0x00000740u;
|
|
/* 02099D00 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D00 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02099D04 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099D08 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02099D08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099D0C */ cpu->r[30] = cpu->r[30] + 0x00000730u;
|
|
/* 02099D10 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02099D10 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02099D14 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02099D18 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02099D18 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02099D1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099D20 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02099D24 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099D28 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D28 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02099D2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D30 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D30 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02099D34 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099D38 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D40 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099D44 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099D48 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D48 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02099D4C */ cpu->r[30] = 0x10010000u;
|
|
/* 02099D50 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099D50 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02099D54 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099D58 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02099D58 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02099D5C */ cpu->r[0] = cpu->r[0] + 0x00000758u;
|
|
/* 02099D60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02099D64 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02099D64 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02099D68 */ cpu->r[30] = cpu->r[30] + 0x00000738u;
|
|
/* 02099D6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D70 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02099D70 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02099D74 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02099D78 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02099D7C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D7C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02099D80 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099D84 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D84 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02099D88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D8C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D8C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02099D90 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099D94 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099D98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D9C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099DA0 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099DA4 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02099DA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02099DA8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02099DA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02099DAC */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02099DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02099DB0 */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02099DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02099DB4 */ cpu->lr = cpu->r[0];
|
|
/* 02099DB8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02099DBC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02099DC0 */ return;
|
|
}
|
|
|
|
// fn_02099CC4 @ 0x2099cc4
|
|
void Gambit_fn_02099CC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02099CC4: ; // 0x2099cc4
|
|
/* 02099CC4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02099CC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099CC4 */ cpu->r[1] = _t0;
|
|
/* 02099CC8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02099CC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02099CCC */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02099CCC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02099CD0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02099CD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02099CD4 */ cpu->r[28] = 0x10010000u;
|
|
/* 02099CD8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02099CDC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099CDC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02099CE0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02099CE4 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02099CE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02099CE8 */ cpu->r[29] = 0x10010000u;
|
|
/* 02099CEC */ cpu->r[28] = cpu->r[28] + 0x000006F0u;
|
|
/* 02099CF0 */ cpu->r[29] = cpu->r[29] + 0x0000074Cu;
|
|
/* 02099CF4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099CF8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099CF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02099CFC */ cpu->r[0] = cpu->r[0] + 0x00000740u;
|
|
/* 02099D00 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D00 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02099D04 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099D08 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02099D08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099D0C */ cpu->r[30] = cpu->r[30] + 0x00000730u;
|
|
/* 02099D10 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02099D10 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02099D14 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02099D18 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02099D18 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02099D1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02099D20 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02099D24 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099D28 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D28 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02099D2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D30 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D30 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02099D34 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099D38 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D40 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099D44 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099D48 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D48 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02099D4C */ cpu->r[30] = 0x10010000u;
|
|
/* 02099D50 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099D50 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02099D54 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099D58 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02099D58 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02099D5C */ cpu->r[0] = cpu->r[0] + 0x00000758u;
|
|
/* 02099D60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02099D64 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02099D64 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02099D68 */ cpu->r[30] = cpu->r[30] + 0x00000738u;
|
|
/* 02099D6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D70 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02099D70 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02099D74 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02099D78 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02099D7C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D7C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02099D80 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099D84 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02099D84 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02099D88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D8C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099D8C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02099D90 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099D94 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099D98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099D9C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02099DA0 */ Gambit_fn_027ED798(cpu);
|
|
/* 02099DA4 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02099DA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02099DA8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02099DA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02099DAC */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02099DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02099DB0 */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02099DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02099DB4 */ cpu->lr = cpu->r[0];
|
|
/* 02099DB8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02099DBC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02099DC0 */ return;
|
|
}
|
|
|
|
// fn_02099DC4 @ 0x2099dc4
|
|
void Gambit_fn_02099DC4(CPUState* 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_02099DC4: ; // 0x2099dc4
|
|
/* 02099DC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02099DC8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02099DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099DC8 */ cpu->r[1] = _t0;
|
|
/* 02099DCC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02099DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099DD0 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099DD4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02099DD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02099DD8 */ cpu->r[30] = cpu->r[30] + 0x00000774u;
|
|
/* 02099DDC */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099DDC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02099DE0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099DE4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02099DE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02099DE8 */ cpu->r[29] = 0x10010000u;
|
|
/* 02099DEC */ cpu->r[0] = 0x10010000u;
|
|
/* 02099DF0 */ cpu->r[29] = cpu->r[29] + 0x000006F0u;
|
|
/* 02099DF4 */ cpu->r[0] = cpu->r[0] + 0x00000780u;
|
|
/* 02099DF8 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02099DF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02099DFC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099E00 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02099E00 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099E04 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02099E04 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02099E08 */ cpu->r[11] = cpu->r[11] + 0x00000764u;
|
|
/* 02099E0C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E0C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02099E10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099E14 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099E14 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02099E18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02099E1C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02099E20 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02099E20 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02099E24 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099E28 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099E2C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E2C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02099E30 */ cpu->r[10] = cpu->r[10] + 0x0000076Cu;
|
|
/* 02099E34 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02099E34 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02099E38 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099E3C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099E3C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02099E40 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099E44 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02099E44 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02099E48 */ cpu->r[12] = cpu->r[12] + 0x0000078Cu;
|
|
/* 02099E4C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02099E50 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02099E50 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02099E54 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02099E58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099E5C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02099E5C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02099E60 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099E64 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02099E64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099E68 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02099E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02099E6C */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02099E70 */ cpu->lr = cpu->r[0];
|
|
/* 02099E74 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02099E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02099E78 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02099E7C */ return;
|
|
}
|
|
|
|
// fn_02099DC8 @ 0x2099dc8
|
|
void Gambit_fn_02099DC8(CPUState* 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_02099DC8: ; // 0x2099dc8
|
|
/* 02099DC8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02099DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099DC8 */ cpu->r[1] = _t0;
|
|
/* 02099DCC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02099DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099DD0 */ cpu->r[30] = 0x10010000u;
|
|
/* 02099DD4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02099DD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02099DD8 */ cpu->r[30] = cpu->r[30] + 0x00000774u;
|
|
/* 02099DDC */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099DDC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02099DE0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099DE4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02099DE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02099DE8 */ cpu->r[29] = 0x10010000u;
|
|
/* 02099DEC */ cpu->r[0] = 0x10010000u;
|
|
/* 02099DF0 */ cpu->r[29] = cpu->r[29] + 0x000006F0u;
|
|
/* 02099DF4 */ cpu->r[0] = cpu->r[0] + 0x00000780u;
|
|
/* 02099DF8 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02099DF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02099DFC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099E00 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02099E00 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02099E04 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02099E04 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02099E08 */ cpu->r[11] = cpu->r[11] + 0x00000764u;
|
|
/* 02099E0C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E0C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02099E10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099E14 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099E14 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02099E18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02099E1C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02099E20 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02099E20 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02099E24 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099E28 */ cpu->r[10] = 0x10010000u;
|
|
/* 02099E2C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E2C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02099E30 */ cpu->r[10] = cpu->r[10] + 0x0000076Cu;
|
|
/* 02099E34 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02099E34 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02099E38 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02099E3C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099E3C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02099E40 */ cpu->r[12] = 0x10010000u;
|
|
/* 02099E44 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02099E44 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02099E48 */ cpu->r[12] = cpu->r[12] + 0x0000078Cu;
|
|
/* 02099E4C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02099E50 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02099E50 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02099E54 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02099E58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02099E5C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02099E5C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02099E60 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02099E64 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02099E64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02099E68 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02099E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02099E6C */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02099E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02099E70 */ cpu->lr = cpu->r[0];
|
|
/* 02099E74 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02099E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02099E78 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02099E7C */ return;
|
|
}
|
|
|
|
// fn_02099E80 @ 0x2099e80
|
|
void Gambit_fn_02099E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02099E80: ; // 0x2099e80
|
|
/* 02099E80 */ cpu->r[0] = cpu->lr;
|
|
/* 02099E84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02099E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099E84 */ cpu->r[1] = _t0;
|
|
/* 02099E88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099E8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099E90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099E94 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02099E94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099E98 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 02099E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02099E9C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099EA4 */ cpu->r[10] = cpu->r[10] + 0x000006F0u;
|
|
/* 02099EA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099EA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099EA8 */ if (_t6) goto L_02099EE4; else goto L_02099EAC;
|
|
L_02099EAC: ; // 0x2099eac
|
|
/* 02099EAC */ cpu->r[0] = 0x10010000u;
|
|
/* 02099EB0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099EB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02099EB4 */ cpu->r[0] = cpu->r[0] + 0x0000079Cu;
|
|
/* 02099EB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099EBC */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02099EC0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02099EC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099EC4 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099EC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099ECC */ cpu->r[4] = cpu->r[3];
|
|
/* 02099ED0 */ _t9 = cpu->r[11] + 0x00000798u;
|
|
/* 02099ED0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02099ED4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099ED8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099EDC */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02099EE0 */ goto L_02099F18;
|
|
L_02099EE4: ; // 0x2099ee4
|
|
/* 02099EE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099EE8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02099EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02099EEC */ cpu->r[0] = cpu->r[0] + 0x000007A4u;
|
|
/* 02099EF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099EF4 */ cpu->r[31] = cpu->r[1] + 0x00000010u;
|
|
/* 02099EF8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02099EF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099EFC */ Gambit_fn_020B7778(cpu);
|
|
/* 02099F00 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099F04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099F08 */ _t12 = cpu->r[11] + 0x00000798u;
|
|
/* 02099F08 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02099F0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F10 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099F14 */ Gambit_fn_027ED1E4(cpu);
|
|
L_02099F18: ; // 0x2099f18
|
|
/* 02099F18 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02099F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099F1C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02099F1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099F20 */ cpu->lr = cpu->r[0];
|
|
/* 02099F24 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02099F2C */ return;
|
|
}
|
|
|
|
// fn_02099E84 @ 0x2099e84
|
|
void Gambit_fn_02099E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02099E84: ; // 0x2099e84
|
|
/* 02099E84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02099E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099E84 */ cpu->r[1] = _t0;
|
|
/* 02099E88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099E8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099E90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099E94 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02099E94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099E98 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 02099E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02099E9C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099EA4 */ cpu->r[10] = cpu->r[10] + 0x000006F0u;
|
|
/* 02099EA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099EA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099EA8 */ if (_t6) goto L_02099EE4; else goto L_02099EAC;
|
|
L_02099EAC: ; // 0x2099eac
|
|
/* 02099EAC */ cpu->r[0] = 0x10010000u;
|
|
/* 02099EB0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099EB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02099EB4 */ cpu->r[0] = cpu->r[0] + 0x0000079Cu;
|
|
/* 02099EB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099EBC */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02099EC0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02099EC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099EC4 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099EC8 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099ECC */ cpu->r[4] = cpu->r[3];
|
|
/* 02099ED0 */ _t9 = cpu->r[11] + 0x00000798u;
|
|
/* 02099ED0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02099ED4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099ED8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099EDC */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02099EE0 */ goto L_02099F18;
|
|
L_02099EE4: ; // 0x2099ee4
|
|
/* 02099EE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099EE8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02099EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02099EEC */ cpu->r[0] = cpu->r[0] + 0x000007A4u;
|
|
/* 02099EF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099EF4 */ cpu->r[31] = cpu->r[1] + 0x00000010u;
|
|
/* 02099EF8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02099EF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099EFC */ Gambit_fn_020B7778(cpu);
|
|
/* 02099F00 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099F04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099F08 */ _t12 = cpu->r[11] + 0x00000798u;
|
|
/* 02099F08 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02099F0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F10 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099F14 */ Gambit_fn_027ED1E4(cpu);
|
|
L_02099F18: ; // 0x2099f18
|
|
/* 02099F18 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02099F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099F1C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02099F1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099F20 */ cpu->lr = cpu->r[0];
|
|
/* 02099F24 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099F28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02099F2C */ return;
|
|
}
|
|
|
|
// fn_02099F30 @ 0x2099f30
|
|
void Gambit_fn_02099F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02099F30: ; // 0x2099f30
|
|
/* 02099F30 */ cpu->r[0] = cpu->lr;
|
|
/* 02099F34 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02099F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099F34 */ cpu->r[1] = _t0;
|
|
/* 02099F38 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099F38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099F3C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099F3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099F40 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099F44 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02099F44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099F48 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 02099F48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02099F4C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099F54 */ cpu->r[10] = cpu->r[10] + 0x000006F0u;
|
|
/* 02099F58 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099F58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099F58 */ if (_t6) goto L_02099F94; else goto L_02099F5C;
|
|
L_02099F5C: ; // 0x2099f5c
|
|
/* 02099F5C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099F60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099F60 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02099F64 */ cpu->r[0] = cpu->r[0] + 0x000007ACu;
|
|
/* 02099F68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F6C */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02099F70 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02099F70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099F74 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099F78 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099F7C */ cpu->r[4] = cpu->r[3];
|
|
/* 02099F80 */ _t9 = cpu->r[11] + 0x00000798u;
|
|
/* 02099F80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02099F84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F88 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099F8C */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02099F90 */ goto L_02099FC8;
|
|
L_02099F94: ; // 0x2099f94
|
|
/* 02099F94 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099F98 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02099F98 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02099F9C */ cpu->r[0] = cpu->r[0] + 0x000007B4u;
|
|
/* 02099FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099FA4 */ cpu->r[31] = cpu->r[1] + 0x00000010u;
|
|
/* 02099FA8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02099FA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099FAC */ Gambit_fn_020B7778(cpu);
|
|
/* 02099FB0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099FB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099FB8 */ _t12 = cpu->r[11] + 0x00000798u;
|
|
/* 02099FB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02099FBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02099FC0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099FC4 */ Gambit_fn_027ED1E4(cpu);
|
|
L_02099FC8: ; // 0x2099fc8
|
|
/* 02099FC8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02099FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099FCC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02099FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099FD0 */ cpu->lr = cpu->r[0];
|
|
/* 02099FD4 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099FD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02099FDC */ return;
|
|
}
|
|
|
|
// fn_02099F34 @ 0x2099f34
|
|
void Gambit_fn_02099F34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02099F34: ; // 0x2099f34
|
|
/* 02099F34 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02099F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099F34 */ cpu->r[1] = _t0;
|
|
/* 02099F38 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02099F38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099F3C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099F3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099F40 */ cpu->r[30] = cpu->r[3];
|
|
/* 02099F44 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02099F44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02099F48 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 02099F48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02099F4C */ cpu->r[10] = 0x10010000u;
|
|
/* 02099F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02099F54 */ cpu->r[10] = cpu->r[10] + 0x000006F0u;
|
|
/* 02099F58 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02099F58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02099F58 */ if (_t6) goto L_02099F94; else goto L_02099F5C;
|
|
L_02099F5C: ; // 0x2099f5c
|
|
/* 02099F5C */ cpu->r[0] = 0x10010000u;
|
|
/* 02099F60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02099F60 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02099F64 */ cpu->r[0] = cpu->r[0] + 0x000007ACu;
|
|
/* 02099F68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F6C */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02099F70 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02099F70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02099F74 */ Gambit_fn_020B7778(cpu);
|
|
/* 02099F78 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099F7C */ cpu->r[4] = cpu->r[3];
|
|
/* 02099F80 */ _t9 = cpu->r[11] + 0x00000798u;
|
|
/* 02099F80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02099F84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099F88 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099F8C */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02099F90 */ goto L_02099FC8;
|
|
L_02099F94: ; // 0x2099f94
|
|
/* 02099F94 */ cpu->r[0] = 0x10010000u;
|
|
/* 02099F98 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02099F98 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02099F9C */ cpu->r[0] = cpu->r[0] + 0x000007B4u;
|
|
/* 02099FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02099FA4 */ cpu->r[31] = cpu->r[1] + 0x00000010u;
|
|
/* 02099FA8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02099FA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02099FAC */ Gambit_fn_020B7778(cpu);
|
|
/* 02099FB0 */ cpu->r[11] = 0x10010000u;
|
|
/* 02099FB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02099FB8 */ _t12 = cpu->r[11] + 0x00000798u;
|
|
/* 02099FB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02099FBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02099FC0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02099FC4 */ Gambit_fn_027ED1E4(cpu);
|
|
L_02099FC8: ; // 0x2099fc8
|
|
/* 02099FC8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02099FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02099FCC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02099FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02099FD0 */ cpu->lr = cpu->r[0];
|
|
/* 02099FD4 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02099FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02099FD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02099FDC */ return;
|
|
}
|
|
|
|
// fn_02099FE0 @ 0x2099fe0
|
|
void Gambit_fn_02099FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02099FE0: ; // 0x2099fe0
|
|
/* 02099FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02099FE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099FE4 */ cpu->r[1] = _t0;
|
|
/* 02099FE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02099FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099FEC */ cpu->r[30] = 0x10010000u;
|
|
/* 02099FF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099FF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099FF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099FF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02099FFC */ cpu->r[30] = cpu->r[30] + 0x000006F0u;
|
|
/* 0209A000 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A004 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A008 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A00C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A00C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0209A010 */ cpu->r[0] = cpu->r[0] + 0x000007C8u;
|
|
/* 0209A014 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A018 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A018 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209A01C */ Gambit_fn_020A7150(cpu);
|
|
/* 0209A020 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A024 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A024 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0209A028 */ cpu->r[0] = cpu->r[0] + 0x000007BCu;
|
|
/* 0209A02C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A030 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209A030 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209A034 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209A038 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A03C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A03C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209A040 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209A044 */ _t9 = cpu->r[31] + 0x00000228u;
|
|
/* 0209A044 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0209A048 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A04C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209A050 */ cpu->lr = cpu->r[0];
|
|
/* 0209A054 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A058 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A05C */ return;
|
|
}
|
|
|
|
// fn_02099FE4 @ 0x2099fe4
|
|
void Gambit_fn_02099FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02099FE4: ; // 0x2099fe4
|
|
/* 02099FE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02099FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02099FE4 */ cpu->r[1] = _t0;
|
|
/* 02099FE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02099FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02099FEC */ cpu->r[30] = 0x10010000u;
|
|
/* 02099FF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02099FF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02099FF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02099FF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02099FFC */ cpu->r[30] = cpu->r[30] + 0x000006F0u;
|
|
/* 0209A000 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A004 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A008 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A00C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A00C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0209A010 */ cpu->r[0] = cpu->r[0] + 0x000007C8u;
|
|
/* 0209A014 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A018 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A018 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209A01C */ Gambit_fn_020A7150(cpu);
|
|
/* 0209A020 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A024 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A024 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0209A028 */ cpu->r[0] = cpu->r[0] + 0x000007BCu;
|
|
/* 0209A02C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A030 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209A030 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209A034 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209A038 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A03C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A03C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209A040 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209A044 */ _t9 = cpu->r[31] + 0x00000228u;
|
|
/* 0209A044 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0209A048 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A04C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209A050 */ cpu->lr = cpu->r[0];
|
|
/* 0209A054 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A058 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A05C */ return;
|
|
}
|
|
|
|
// fn_0209A060 @ 0x209a060
|
|
void Gambit_fn_0209A060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209A060: ; // 0x209a060
|
|
/* 0209A060 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A064 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209A068 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209A06C */ cpu->r[11] = cpu->r[11] + 0x000006F0u;
|
|
/* 0209A070 */ cpu->r[12] = cpu->r[12] + 0x000007D4u;
|
|
/* 0209A074 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209A074 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209A078 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A07C */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209A07C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209A07C */ cpu->r[1] = _t1;
|
|
/* 0209A080 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A080 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0209A084 */ cpu->r[0] = cpu->r[0] + 0x000007DCu;
|
|
/* 0209A088 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A088 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209A08C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A090 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A090 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209A094 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A098 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A098 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209A09C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A0A0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A0A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0209A0A4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0209A0A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209A0A8 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209A0AC */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0209A0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A0B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A0B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209A0B8 */ return;
|
|
}
|
|
|
|
// fn_0209A07C @ 0x209a07c
|
|
void Gambit_fn_0209A07C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209A07C: ; // 0x209a07c
|
|
/* 0209A07C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209A07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A07C */ cpu->r[1] = _t0;
|
|
/* 0209A080 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A080 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0209A084 */ cpu->r[0] = cpu->r[0] + 0x000007DCu;
|
|
/* 0209A088 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A088 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209A08C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A090 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A090 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209A094 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A098 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A098 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0209A09C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A0A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A0A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209A0A4 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0209A0A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A0A8 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209A0AC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0209A0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A0B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A0B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209A0B8 */ return;
|
|
}
|
|
|
|
// fn_0209A0BC @ 0x209a0bc
|
|
void Gambit_fn_0209A0BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209A0BC: ; // 0x209a0bc
|
|
/* 0209A0BC */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0209A0C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A0C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A0C0 */ cpu->r[1] = _t0;
|
|
/* 0209A0C4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209A0C8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209A0CC */ _t1 = cpu->r[10] + 0xFFFFD9C4u;
|
|
/* 0209A0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209A0CC */ cpu->r[10] = _t1;
|
|
/* 0209A0D0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209A0D4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209A0D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209A0D8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209A0DC */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209A0E0 */ _t3 = cpu->r[7] + 0xFFFFD9D4u;
|
|
/* 0209A0E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209A0E0 */ cpu->r[7] = _t3;
|
|
/* 0209A0E4 */ _t4 = cpu->r[8] + 0xFFFFD9CCu;
|
|
/* 0209A0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209A0E4 */ cpu->r[8] = _t4;
|
|
/* 0209A0E8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0209A0EC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209A0EC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209A0F0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209A0F4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A0F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A0F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209A0FC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209A0FC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209A100 */ _t8 = cpu->r[8] + 0xFFFFD9E4u;
|
|
/* 0209A100 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209A100 */ cpu->r[8] = _t8;
|
|
/* 0209A104 */ _t9 = cpu->r[12] + 0xFFFFD9DCu;
|
|
/* 0209A104 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209A104 */ cpu->r[12] = _t9;
|
|
/* 0209A108 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209A108 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209A10C */ cpu->r[0] = 0x00000004u;
|
|
/* 0209A110 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209A110 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209A114 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209A118 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A118 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A11C */ _t13 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 0209A11C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209A120 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A124 */ return;
|
|
}
|
|
|
|
// fn_0209A0C0 @ 0x209a0c0
|
|
void Gambit_fn_0209A0C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209A0C0: ; // 0x209a0c0
|
|
/* 0209A0C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A0C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A0C0 */ cpu->r[1] = _t0;
|
|
/* 0209A0C4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209A0C8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209A0CC */ _t1 = cpu->r[10] + 0xFFFFD9C4u;
|
|
/* 0209A0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209A0CC */ cpu->r[10] = _t1;
|
|
/* 0209A0D0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209A0D4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209A0D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209A0D8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209A0DC */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209A0E0 */ _t3 = cpu->r[7] + 0xFFFFD9D4u;
|
|
/* 0209A0E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209A0E0 */ cpu->r[7] = _t3;
|
|
/* 0209A0E4 */ _t4 = cpu->r[8] + 0xFFFFD9CCu;
|
|
/* 0209A0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209A0E4 */ cpu->r[8] = _t4;
|
|
/* 0209A0E8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0209A0EC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209A0EC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209A0F0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209A0F4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A0F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A0F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209A0FC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209A0FC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209A100 */ _t8 = cpu->r[8] + 0xFFFFD9E4u;
|
|
/* 0209A100 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209A100 */ cpu->r[8] = _t8;
|
|
/* 0209A104 */ _t9 = cpu->r[12] + 0xFFFFD9DCu;
|
|
/* 0209A104 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209A104 */ cpu->r[12] = _t9;
|
|
/* 0209A108 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209A108 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209A10C */ cpu->r[0] = 0x00000004u;
|
|
/* 0209A110 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209A110 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209A114 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209A118 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A118 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A11C */ _t13 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 0209A11C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209A120 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A124 */ return;
|
|
}
|
|
|
|
// fn_0209A128 @ 0x209a128
|
|
void Gambit_fn_0209A128(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_0209A128: ; // 0x209a128
|
|
/* 0209A128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A12C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A12C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209A12C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209A12C */ goto L_0209A130;
|
|
L_0209A130: ; // 0x209a130
|
|
/* 0209A130 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209A130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209A134 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A134 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209A134 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209A134 */ goto L_0209A138;
|
|
L_0209A138: ; // 0x209a138
|
|
/* 0209A138 */ 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_0209A13C @ 0x209a13c
|
|
void Gambit_fn_0209A13C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209A13C: ; // 0x209a13c
|
|
/* 0209A13C */ cpu->r[0] = cpu->lr;
|
|
/* 0209A140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A140 */ cpu->r[1] = _t0;
|
|
/* 0209A144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209A14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209A154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A158 */ if (_t5) goto L_0209A1C8; else goto L_0209A15C;
|
|
L_0209A15C: ; // 0x209a15c
|
|
/* 0209A15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209A164 */ cpu->r[0] = cpu->r[0] + 0x000009C8u;
|
|
/* 0209A168 */ cpu->r[12] = cpu->r[12] + 0x000009E8u;
|
|
/* 0209A16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209A174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209A178 */ cpu->r[11] = cpu->r[11] + 0x000009D8u;
|
|
/* 0209A17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209A184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A184 */ if (_t10) goto L_0209A1B8; else goto L_0209A188;
|
|
L_0209A188: ; // 0x209a188
|
|
/* 0209A188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209A18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A190 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209A194 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209A198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209A1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209A1A8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209A1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209A1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209A1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209A1B8: ; // 0x209a1b8
|
|
/* 0209A1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209A1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209A1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A1BC */ if (_t15) goto L_0209A1C8; else goto L_0209A1C0;
|
|
L_0209A1C0: ; // 0x209a1c0
|
|
/* 0209A1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209A1C8: ; // 0x209a1c8
|
|
/* 0209A1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A1DC */ return;
|
|
}
|
|
|
|
// fn_0209A140 @ 0x209a140
|
|
void Gambit_fn_0209A140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209A140: ; // 0x209a140
|
|
/* 0209A140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A140 */ cpu->r[1] = _t0;
|
|
/* 0209A144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209A14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209A154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A158 */ if (_t5) goto L_0209A1C8; else goto L_0209A15C;
|
|
L_0209A15C: ; // 0x209a15c
|
|
/* 0209A15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209A164 */ cpu->r[0] = cpu->r[0] + 0x000009C8u;
|
|
/* 0209A168 */ cpu->r[12] = cpu->r[12] + 0x000009E8u;
|
|
/* 0209A16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209A170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209A174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209A178 */ cpu->r[11] = cpu->r[11] + 0x000009D8u;
|
|
/* 0209A17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209A184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A184 */ if (_t10) goto L_0209A1B8; else goto L_0209A188;
|
|
L_0209A188: ; // 0x209a188
|
|
/* 0209A188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209A18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A190 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209A194 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209A198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209A19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209A1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209A1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209A1A8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209A1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209A1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209A1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209A1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209A1B8: ; // 0x209a1b8
|
|
/* 0209A1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209A1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209A1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A1BC */ if (_t15) goto L_0209A1C8; else goto L_0209A1C0;
|
|
L_0209A1C0: ; // 0x209a1c0
|
|
/* 0209A1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209A1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209A1C8: ; // 0x209a1c8
|
|
/* 0209A1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A1DC */ return;
|
|
}
|
|
|
|
// fn_0209A1E0 @ 0x209a1e0
|
|
void Gambit_fn_0209A1E0(CPUState* cpu) {
|
|
L_0209A1E0: ; // 0x209a1e0
|
|
/* 0209A1E0 */ return;
|
|
}
|
|
|
|
// fn_0209A1E4 @ 0x209a1e4
|
|
void Gambit_fn_0209A1E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A1E4: ; // 0x209a1e4
|
|
/* 0209A1E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209A1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A1E8 */ return;
|
|
}
|
|
|
|
// fn_0209A1EC @ 0x209a1ec
|
|
void Gambit_fn_0209A1EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A1EC: ; // 0x209a1ec
|
|
/* 0209A1EC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209A1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A1F0 */ return;
|
|
}
|
|
|
|
// fn_0209A1F4 @ 0x209a1f4
|
|
void Gambit_fn_0209A1F4(CPUState* cpu) {
|
|
L_0209A1F4: ; // 0x209a1f4
|
|
/* 0209A1F4 */ return;
|
|
}
|
|
|
|
// fn_0209A1F8 @ 0x209a1f8
|
|
void Gambit_fn_0209A1F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A1F8: ; // 0x209a1f8
|
|
/* 0209A1F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209A1F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A1FC */ return;
|
|
}
|
|
|
|
// fn_0209A200 @ 0x209a200
|
|
void Gambit_fn_0209A200(CPUState* cpu) {
|
|
L_0209A200: ; // 0x209a200
|
|
/* 0209A200 */ return;
|
|
}
|
|
|
|
// fn_0209A204 @ 0x209a204
|
|
void Gambit_fn_0209A204(CPUState* cpu) {
|
|
L_0209A204: ; // 0x209a204
|
|
/* 0209A204 */ return;
|
|
}
|
|
|
|
// fn_0209A208 @ 0x209a208
|
|
void Gambit_fn_0209A208(CPUState* cpu) {
|
|
L_0209A208: ; // 0x209a208
|
|
/* 0209A208 */ return;
|
|
}
|
|
|
|
// fn_0209A20C @ 0x209a20c
|
|
void Gambit_fn_0209A20C(CPUState* cpu) {
|
|
L_0209A20C: ; // 0x209a20c
|
|
/* 0209A20C */ return;
|
|
}
|
|
|
|
// fn_0209A210 @ 0x209a210
|
|
void Gambit_fn_0209A210(CPUState* cpu) {
|
|
L_0209A210: ; // 0x209a210
|
|
/* 0209A210 */ return;
|
|
}
|
|
|
|
// fn_0209A214 @ 0x209a214
|
|
void Gambit_fn_0209A214(CPUState* cpu) {
|
|
L_0209A214: ; // 0x209a214
|
|
/* 0209A214 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209A218 */ return;
|
|
}
|
|
|
|
// fn_0209A21C @ 0x209a21c
|
|
void Gambit_fn_0209A21C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A21C: ; // 0x209a21c
|
|
/* 0209A21C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A220 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209A220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A224 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A228 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209A22C @ 0x209a22c
|
|
void Gambit_fn_0209A22C(CPUState* cpu) {
|
|
L_0209A22C: ; // 0x209a22c
|
|
/* 0209A22C */ return;
|
|
}
|
|
|
|
// fn_0209A230 @ 0x209a230
|
|
void Gambit_fn_0209A230(CPUState* cpu) {
|
|
L_0209A230: ; // 0x209a230
|
|
/* 0209A230 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209A234 */ return;
|
|
}
|
|
|
|
// fn_0209A238 @ 0x209a238
|
|
void Gambit_fn_0209A238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209A238: ; // 0x209a238
|
|
/* 0209A238 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209A23C */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0209A23C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A23C */ cpu->r[9] = _t0;
|
|
/* 0209A240 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209A244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209A248 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0209A24C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A24C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209A24C */ if (_t2) goto L_0209A250; else goto L_0209A264;
|
|
L_0209A250: ; // 0x209a250
|
|
/* 0209A250 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209A254 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209A258 */ cpu->r[7] = cpu->r[7] + 0x00000708u;
|
|
/* 0209A25C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0209A25C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A260 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209A260 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0209A264: ; // 0x209a264
|
|
/* 0209A264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209A268 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A268 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209A268 */ if (_t6) goto L_0209A26C; else goto L_0209A274;
|
|
L_0209A26C: ; // 0x209a26c
|
|
/* 0209A26C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209A270 */ return;
|
|
L_0209A274: ; // 0x209a274
|
|
/* 0209A274 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209A278 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0209A278 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A278 */ cpu->r[7] = _t7;
|
|
/* 0209A27C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209A280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209A284 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209A288 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A288 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209A288 */ if (_t9) goto L_0209A28C; else goto L_0209A2A0;
|
|
L_0209A28C: ; // 0x209a28c
|
|
/* 0209A28C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209A290 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209A294 */ cpu->r[0] = cpu->r[0] + 0x000006E0u;
|
|
/* 0209A298 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0209A298 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209A29C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0209A29C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209A2A0: ; // 0x209a2a0
|
|
/* 0209A2A0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209A2A4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0209A2A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0209A2AC */ return;
|
|
}
|
|
|
|
// fn_0209A2B0 @ 0x209a2b0
|
|
void Gambit_fn_0209A2B0(CPUState* cpu) {
|
|
L_0209A2B0: ; // 0x209a2b0
|
|
/* 0209A2B0 */ return;
|
|
}
|
|
|
|
// fn_0209A2B4 @ 0x209a2b4
|
|
void Gambit_fn_0209A2B4(CPUState* cpu) {
|
|
L_0209A2B4: ; // 0x209a2b4
|
|
/* 0209A2B4 */ return;
|
|
}
|
|
|
|
// fn_0209A2B8 @ 0x209a2b8
|
|
void Gambit_fn_0209A2B8(CPUState* cpu) {
|
|
L_0209A2B8: ; // 0x209a2b8
|
|
/* 0209A2B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209A2BC */ return;
|
|
}
|
|
|
|
// fn_0209A2C0 @ 0x209a2c0
|
|
void Gambit_fn_0209A2C0(CPUState* cpu) {
|
|
L_0209A2C0: ; // 0x209a2c0
|
|
/* 0209A2C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209A2C4 */ return;
|
|
}
|
|
|
|
// fn_0209A2C8 @ 0x209a2c8
|
|
void Gambit_fn_0209A2C8(CPUState* cpu) {
|
|
L_0209A2C8: ; // 0x209a2c8
|
|
/* 0209A2C8 */ return;
|
|
}
|
|
|
|
// fn_0209A2CC @ 0x209a2cc
|
|
void Gambit_fn_0209A2CC(CPUState* cpu) {
|
|
L_0209A2CC: ; // 0x209a2cc
|
|
/* 0209A2CC */ return;
|
|
}
|
|
|
|
// fn_0209A2D0 @ 0x209a2d0
|
|
void Gambit_fn_0209A2D0(CPUState* cpu) {
|
|
L_0209A2D0: ; // 0x209a2d0
|
|
/* 0209A2D0 */ return;
|
|
}
|
|
|
|
// fn_0209A2D4 @ 0x209a2d4
|
|
void Gambit_fn_0209A2D4(CPUState* cpu) {
|
|
L_0209A2D4: ; // 0x209a2d4
|
|
/* 0209A2D4 */ return;
|
|
}
|
|
|
|
// fn_0209A2D8 @ 0x209a2d8
|
|
void Gambit_fn_0209A2D8(CPUState* cpu) {
|
|
L_0209A2D8: ; // 0x209a2d8
|
|
/* 0209A2D8 */ return;
|
|
}
|
|
|
|
// fn_0209A2DC @ 0x209a2dc
|
|
void Gambit_fn_0209A2DC(CPUState* cpu) {
|
|
L_0209A2DC: ; // 0x209a2dc
|
|
/* 0209A2DC */ return;
|
|
}
|
|
|
|
// fn_0209A2E0 @ 0x209a2e0
|
|
void Gambit_fn_0209A2E0(CPUState* cpu) {
|
|
L_0209A2E0: ; // 0x209a2e0
|
|
/* 0209A2E0 */ return;
|
|
}
|
|
|
|
// fn_0209A2E4 @ 0x209a2e4
|
|
void Gambit_fn_0209A2E4(CPUState* cpu) {
|
|
L_0209A2E4: ; // 0x209a2e4
|
|
/* 0209A2E4 */ return;
|
|
}
|
|
|
|
// fn_0209A2E8 @ 0x209a2e8
|
|
void Gambit_fn_0209A2E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0209A2E8: ; // 0x209a2e8
|
|
/* 0209A2E8 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209A2EC */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0209A2F0 @ 0x209a2f0
|
|
void Gambit_fn_0209A2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_0209A2F0: ; // 0x209a2f0
|
|
/* 0209A2F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A2F4 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 0209A2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A2F4 */ cpu->r[1] = _t0;
|
|
/* 0209A2F8 */ _t1 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A2FC */ _t2 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A300 */ _t3 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A300 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A304 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209A308 */ _t5 = cpu->r[11] + 0x00000064u;
|
|
/* 0209A308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A30C */ cpu->ctr = cpu->r[11];
|
|
/* 0209A310 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A318 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A31C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A320 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A324 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209A324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A328 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A32C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A330 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209A334 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 0209A334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A338 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 0209A33C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A340 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209A344 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A34C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A34C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A34C */ if (_t10) goto L_0209A354; else goto L_0209A350;
|
|
L_0209A350: ; // 0x209a350
|
|
/* 0209A350 */ Gambit_fn_0209887C(cpu);
|
|
L_0209A354: ; // 0x209a354
|
|
/* 0209A354 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A354 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 0209A358 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A35C */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A35C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A360 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A364 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A36C */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A370 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A378 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A378 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A378 */ if (_t15) goto L_0209A380; else goto L_0209A37C;
|
|
L_0209A37C: ; // 0x209a37c
|
|
/* 0209A37C */ Gambit_fn_02098E74(cpu);
|
|
L_0209A380: ; // 0x209a380
|
|
/* 0209A380 */ _t16 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A380 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 0209A384 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A388 */ _t18 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A38C */ cpu->ctr = cpu->r[0];
|
|
/* 0209A390 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A394 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A398 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A39C */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 0209A3A0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3A4 */ _t20 = cpu->r[10] + 0x00000100u;
|
|
/* 0209A3A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0209A3A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0209A3B0 */ if (_t22) goto L_0209A3B8; else goto L_0209A3B4;
|
|
L_0209A3B4: ; // 0x209a3b4
|
|
/* 0209A3B4 */ Gambit_fn_0209BC2C(cpu);
|
|
L_0209A3B8: ; // 0x209a3b8
|
|
/* 0209A3B8 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A3B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 0209A3BC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209A3C0 */ _t25 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209A3C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3D0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0209A3DC */ if (_t27) goto L_0209A3E4; else goto L_0209A3E0;
|
|
L_0209A3E0: ; // 0x209a3e0
|
|
/* 0209A3E0 */ Gambit_fn_0209B640(cpu);
|
|
L_0209A3E4: ; // 0x209a3e4
|
|
/* 0209A3E4 */ _t28 = cpu->r[31] + 0x00000048u;
|
|
/* 0209A3E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0209A3E8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209A3EC */ _t30 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0209A3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3FC */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A400 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A408 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A408 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209A408 */ if (_t32) goto L_0209A410; else goto L_0209A40C;
|
|
L_0209A40C: ; // 0x209a40c
|
|
/* 0209A40C */ Gambit_fn_02099A20(cpu);
|
|
L_0209A410: ; // 0x209a410
|
|
/* 0209A410 */ _t33 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209A410 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 0209A414 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209A418 */ _t35 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0209A41C */ cpu->ctr = cpu->r[10];
|
|
/* 0209A420 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A428 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A42C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A434 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A434 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209A434 */ if (_t37) goto L_0209A43C; else goto L_0209A438;
|
|
L_0209A438: ; // 0x209a438
|
|
/* 0209A438 */ Gambit_fn_020995C8(cpu);
|
|
L_0209A43C: ; // 0x209a43c
|
|
/* 0209A43C */ _t38 = cpu->r[31] + 0x00000044u;
|
|
/* 0209A43C */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 0209A440 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209A444 */ _t40 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209A448 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A44C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A454 */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A458 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A460 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A460 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209A460 */ if (_t42) goto L_0209A468; else goto L_0209A464;
|
|
L_0209A464: ; // 0x209a464
|
|
/* 0209A464 */ Gambit_fn_02098314(cpu);
|
|
L_0209A468: ; // 0x209a468
|
|
/* 0209A468 */ _t43 = cpu->r[31] + 0x00000050u;
|
|
/* 0209A468 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 0209A46C */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A46C */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209A470 */ _t45 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209A474 */ cpu->ctr = cpu->r[12];
|
|
/* 0209A478 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A480 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A484 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A48C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A48C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0209A48C */ if (_t47) goto L_0209A49C; else goto L_0209A490;
|
|
L_0209A490: ; // 0x209a490
|
|
/* 0209A490 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209A494 */ cpu->r[4] = cpu->r[4] + 0x00000A60u;
|
|
/* 0209A498 */ Gambit_fn_020991BC(cpu);
|
|
L_0209A49C: ; // 0x209a49c
|
|
/* 0209A49C */ _t48 = cpu->r[31] + 0x00000054u;
|
|
/* 0209A49C */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0209A4A0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0209A4A4 */ _t50 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0209A4A8 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A4B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4B4 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 0209A4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0209A4B8 */ _t52 = cpu->r[12] + 0x00000064u;
|
|
/* 0209A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0209A4BC */ cpu->ctr = cpu->r[0];
|
|
/* 0209A4C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A4C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A4CC */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4D0 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A4D4 */ _t53 = cpu->r[30] + 0x00000008u;
|
|
/* 0209A4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0209A4D8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4DC */ _t54 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0209A4DC */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 0209A4E0 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 0209A4E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0209A4E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A4E8 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A4EC */ _t56 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0209A4F0 */ _t57 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A4F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209A4F4 */ cpu->lr = cpu->r[0];
|
|
/* 0209A4F8 */ _t58 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209A4FC */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 0209A500 */ return;
|
|
}
|
|
|
|
// fn_0209A2F4 @ 0x209a2f4
|
|
void Gambit_fn_0209A2F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_0209A2F4: ; // 0x209a2f4
|
|
/* 0209A2F4 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 0209A2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A2F4 */ cpu->r[1] = _t0;
|
|
/* 0209A2F8 */ _t1 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A2FC */ _t2 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A300 */ _t3 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A300 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A304 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209A308 */ _t5 = cpu->r[11] + 0x00000064u;
|
|
/* 0209A308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A30C */ cpu->ctr = cpu->r[11];
|
|
/* 0209A310 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A318 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A31C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A320 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A324 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209A324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A328 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A32C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A330 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209A334 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 0209A334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A338 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 0209A33C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A340 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209A344 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A34C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A34C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A34C */ if (_t10) goto L_0209A354; else goto L_0209A350;
|
|
L_0209A350: ; // 0x209a350
|
|
/* 0209A350 */ Gambit_fn_0209887C(cpu);
|
|
L_0209A354: ; // 0x209a354
|
|
/* 0209A354 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A354 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 0209A358 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A35C */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A35C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A360 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A364 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A36C */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A370 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A378 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A378 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A378 */ if (_t15) goto L_0209A380; else goto L_0209A37C;
|
|
L_0209A37C: ; // 0x209a37c
|
|
/* 0209A37C */ Gambit_fn_02098E74(cpu);
|
|
L_0209A380: ; // 0x209a380
|
|
/* 0209A380 */ _t16 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A380 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 0209A384 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A388 */ _t18 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A38C */ cpu->ctr = cpu->r[0];
|
|
/* 0209A390 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A394 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A398 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A39C */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 0209A3A0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3A4 */ _t20 = cpu->r[10] + 0x00000100u;
|
|
/* 0209A3A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0209A3A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0209A3B0 */ if (_t22) goto L_0209A3B8; else goto L_0209A3B4;
|
|
L_0209A3B4: ; // 0x209a3b4
|
|
/* 0209A3B4 */ Gambit_fn_0209BC2C(cpu);
|
|
L_0209A3B8: ; // 0x209a3b8
|
|
/* 0209A3B8 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A3B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 0209A3BC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209A3C0 */ _t25 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209A3C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3D0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0209A3DC */ if (_t27) goto L_0209A3E4; else goto L_0209A3E0;
|
|
L_0209A3E0: ; // 0x209a3e0
|
|
/* 0209A3E0 */ Gambit_fn_0209B640(cpu);
|
|
L_0209A3E4: ; // 0x209a3e4
|
|
/* 0209A3E4 */ _t28 = cpu->r[31] + 0x00000048u;
|
|
/* 0209A3E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0209A3E8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209A3EC */ _t30 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0209A3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3FC */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A400 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A408 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A408 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209A408 */ if (_t32) goto L_0209A410; else goto L_0209A40C;
|
|
L_0209A40C: ; // 0x209a40c
|
|
/* 0209A40C */ Gambit_fn_02099A20(cpu);
|
|
L_0209A410: ; // 0x209a410
|
|
/* 0209A410 */ _t33 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209A410 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 0209A414 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209A418 */ _t35 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0209A41C */ cpu->ctr = cpu->r[10];
|
|
/* 0209A420 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A428 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A42C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A434 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A434 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209A434 */ if (_t37) goto L_0209A43C; else goto L_0209A438;
|
|
L_0209A438: ; // 0x209a438
|
|
/* 0209A438 */ Gambit_fn_020995C8(cpu);
|
|
L_0209A43C: ; // 0x209a43c
|
|
/* 0209A43C */ _t38 = cpu->r[31] + 0x00000044u;
|
|
/* 0209A43C */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 0209A440 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209A444 */ _t40 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209A448 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A44C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A454 */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A458 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A460 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A460 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209A460 */ if (_t42) goto L_0209A468; else goto L_0209A464;
|
|
L_0209A464: ; // 0x209a464
|
|
/* 0209A464 */ Gambit_fn_02098314(cpu);
|
|
L_0209A468: ; // 0x209a468
|
|
/* 0209A468 */ _t43 = cpu->r[31] + 0x00000050u;
|
|
/* 0209A468 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 0209A46C */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A46C */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209A470 */ _t45 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209A474 */ cpu->ctr = cpu->r[12];
|
|
/* 0209A478 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A480 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A484 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A48C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A48C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0209A48C */ if (_t47) goto L_0209A49C; else goto L_0209A490;
|
|
L_0209A490: ; // 0x209a490
|
|
/* 0209A490 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209A494 */ cpu->r[4] = cpu->r[4] + 0x00000A60u;
|
|
/* 0209A498 */ Gambit_fn_020991BC(cpu);
|
|
L_0209A49C: ; // 0x209a49c
|
|
/* 0209A49C */ _t48 = cpu->r[31] + 0x00000054u;
|
|
/* 0209A49C */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0209A4A0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0209A4A4 */ _t50 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0209A4A8 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A4B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4B4 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 0209A4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0209A4B8 */ _t52 = cpu->r[12] + 0x00000064u;
|
|
/* 0209A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0209A4BC */ cpu->ctr = cpu->r[0];
|
|
/* 0209A4C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A4C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A4CC */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4D0 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A4D4 */ _t53 = cpu->r[30] + 0x00000008u;
|
|
/* 0209A4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0209A4D8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4DC */ _t54 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0209A4DC */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 0209A4E0 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 0209A4E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0209A4E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A4E8 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A4EC */ _t56 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0209A4F0 */ _t57 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A4F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209A4F4 */ cpu->lr = cpu->r[0];
|
|
/* 0209A4F8 */ _t58 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209A4FC */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 0209A500 */ return;
|
|
}
|
|
|
|
// fn_0209A504 @ 0x209a504
|
|
void Gambit_fn_0209A504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_0209A2F0: ; // 0x209a2f0
|
|
/* 0209A2F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A2F4 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 0209A2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A2F4 */ cpu->r[1] = _t0;
|
|
/* 0209A2F8 */ _t1 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A2FC */ _t2 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A300 */ _t3 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A300 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A304 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209A308 */ _t5 = cpu->r[11] + 0x00000064u;
|
|
/* 0209A308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A30C */ cpu->ctr = cpu->r[11];
|
|
/* 0209A310 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A318 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A31C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A320 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A324 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209A324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A328 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A32C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A330 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209A334 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 0209A334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A338 */ cpu->r[30] = cpu->r[31] + 0x00000028u;
|
|
/* 0209A33C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A340 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209A344 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A34C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A34C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209A34C */ if (_t10) goto L_0209A354; else goto L_0209A350;
|
|
L_0209A350: ; // 0x209a350
|
|
/* 0209A350 */ Gambit_fn_0209887C(cpu);
|
|
L_0209A354: ; // 0x209a354
|
|
/* 0209A354 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A354 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 0209A358 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A35C */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A35C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A360 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A364 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A36C */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A370 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A378 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A378 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209A378 */ if (_t15) goto L_0209A380; else goto L_0209A37C;
|
|
L_0209A37C: ; // 0x209a37c
|
|
/* 0209A37C */ Gambit_fn_02098E74(cpu);
|
|
L_0209A380: ; // 0x209a380
|
|
/* 0209A380 */ _t16 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A380 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 0209A384 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A388 */ _t18 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A38C */ cpu->ctr = cpu->r[0];
|
|
/* 0209A390 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A394 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A398 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A39C */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 0209A3A0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3A4 */ _t20 = cpu->r[10] + 0x00000100u;
|
|
/* 0209A3A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0209A3A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0209A3B0 */ if (_t22) goto L_0209A3B8; else goto L_0209A3B4;
|
|
L_0209A3B4: ; // 0x209a3b4
|
|
/* 0209A3B4 */ Gambit_fn_0209BC2C(cpu);
|
|
L_0209A3B8: ; // 0x209a3b8
|
|
/* 0209A3B8 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A3B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 0209A3BC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209A3C0 */ _t25 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A3C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209A3C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3D0 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A3D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A3DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A3DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0209A3DC */ if (_t27) goto L_0209A3E4; else goto L_0209A3E0;
|
|
L_0209A3E0: ; // 0x209a3e0
|
|
/* 0209A3E0 */ Gambit_fn_0209B640(cpu);
|
|
L_0209A3E4: ; // 0x209a3e4
|
|
/* 0209A3E4 */ _t28 = cpu->r[31] + 0x00000048u;
|
|
/* 0209A3E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0209A3E8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A3E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209A3EC */ _t30 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0209A3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A3F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A3F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A3FC */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209A400 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A408 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A408 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209A408 */ if (_t32) goto L_0209A410; else goto L_0209A40C;
|
|
L_0209A40C: ; // 0x209a40c
|
|
/* 0209A40C */ Gambit_fn_02099A20(cpu);
|
|
L_0209A410: ; // 0x209a410
|
|
/* 0209A410 */ _t33 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209A410 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 0209A414 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209A418 */ _t35 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0209A41C */ cpu->ctr = cpu->r[10];
|
|
/* 0209A420 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A428 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A42C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A434 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A434 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209A434 */ if (_t37) goto L_0209A43C; else goto L_0209A438;
|
|
L_0209A438: ; // 0x209a438
|
|
/* 0209A438 */ Gambit_fn_020995C8(cpu);
|
|
L_0209A43C: ; // 0x209a43c
|
|
/* 0209A43C */ _t38 = cpu->r[31] + 0x00000044u;
|
|
/* 0209A43C */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 0209A440 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209A444 */ _t40 = cpu->r[12] + 0x00000034u;
|
|
/* 0209A444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209A448 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A44C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A454 */ cpu->r[3] = 0x00000224u;
|
|
/* 0209A458 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A460 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A460 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209A460 */ if (_t42) goto L_0209A468; else goto L_0209A464;
|
|
L_0209A464: ; // 0x209a464
|
|
/* 0209A464 */ Gambit_fn_02098314(cpu);
|
|
L_0209A468: ; // 0x209a468
|
|
/* 0209A468 */ _t43 = cpu->r[31] + 0x00000050u;
|
|
/* 0209A468 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 0209A46C */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A46C */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209A470 */ _t45 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209A474 */ cpu->ctr = cpu->r[12];
|
|
/* 0209A478 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A480 */ cpu->r[3] = 0x00000220u;
|
|
/* 0209A484 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A48C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A48C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0209A48C */ if (_t47) goto L_0209A49C; else goto L_0209A490;
|
|
L_0209A490: ; // 0x209a490
|
|
/* 0209A490 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209A494 */ cpu->r[4] = cpu->r[4] + 0x00000A60u;
|
|
/* 0209A498 */ Gambit_fn_020991BC(cpu);
|
|
L_0209A49C: ; // 0x209a49c
|
|
/* 0209A49C */ _t48 = cpu->r[31] + 0x00000054u;
|
|
/* 0209A49C */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0209A4A0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0209A4A4 */ _t50 = cpu->r[10] + 0x00000034u;
|
|
/* 0209A4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0209A4A8 */ cpu->ctr = cpu->r[11];
|
|
/* 0209A4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209A4B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4B4 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 0209A4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0209A4B8 */ _t52 = cpu->r[12] + 0x00000064u;
|
|
/* 0209A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0209A4BC */ cpu->ctr = cpu->r[0];
|
|
/* 0209A4C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A4C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A4C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209A4CC */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4D0 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209A4D4 */ _t53 = cpu->r[30] + 0x00000008u;
|
|
/* 0209A4D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0209A4D8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 0209A4DC */ _t54 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0209A4DC */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 0209A4E0 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 0209A4E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0209A4E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A4E8 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209A4EC */ _t56 = cpu->r[1] + 0x00000164u;
|
|
/* 0209A4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0209A4F0 */ _t57 = cpu->r[1] + 0x00000158u;
|
|
/* 0209A4F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209A4F4 */ cpu->lr = cpu->r[0];
|
|
/* 0209A4F8 */ _t58 = cpu->r[1] + 0x0000015Cu;
|
|
/* 0209A4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209A4FC */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 0209A500 */ return;
|
|
L_0209A504: ; // 0x209a504
|
|
/* 0209A504 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A508 */ goto L_0209A2F0;
|
|
}
|
|
|
|
// fn_0209A50C @ 0x209a50c
|
|
void Gambit_fn_0209A50C(CPUState* cpu) {
|
|
L_0209A50C: ; // 0x209a50c
|
|
/* 0209A50C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A510 */ goto L_0209B558;
|
|
L_0209B558: ; // 0x209b558
|
|
/* 0209B558 */ return;
|
|
}
|
|
|
|
// fn_0209A514 @ 0x209a514
|
|
void Gambit_fn_0209A514(CPUState* cpu) {
|
|
L_0209A514: ; // 0x209a514
|
|
/* 0209A514 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A518 */ goto L_0209B55C;
|
|
L_0209B55C: ; // 0x209b55c
|
|
/* 0209B55C */ return;
|
|
}
|
|
|
|
// fn_0209A51C @ 0x209a51c
|
|
void Gambit_fn_0209A51C(CPUState* cpu) {
|
|
L_0209A51C: ; // 0x209a51c
|
|
/* 0209A51C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A520 */ goto L_0209B560;
|
|
L_0209B560: ; // 0x209b560
|
|
/* 0209B560 */ return;
|
|
}
|
|
|