I am very new to MIPS right now and am very confused as to how I am supposed to convert this code in C into MIPS. Can anybody possibly solve this for me? Thank you!
uint32_t m_w = 50000;
uint32_t m_z = 60000;
int main()
{
uint32_t a, b;
for(int i=0; i<10; i++)
{
a = random_in_range(1,100000);
b = random_in_range(1,100000);
printf("GCD(%d,%d) = %d\n", a, b, gcd(a, b));
}
return 0;
}
uint32_t gcd(uint32_t a, uint32_t b)
{
if ((a % b) == 0)
return b;
return gcd(b, a % b);
}
uint32_t random_in_range(uint32_t low, uint32_t high)
{
uint32_t range = high-low+1;
uint32_t rand_num = get_random();
return (rand_num % range) + low;
}
uint32_t get_random()
{
uint32_t result;
m_z = 36969 * (m_z & 65535) + (m_z >> 16);
m_w = 18000 * (m_w & 65535) + (m_w >> 16);
result = (m_z << 16) + m_w; /* 32-bit result */
return result;
}
Aucun commentaire:
Enregistrer un commentaire