Convert this code to RISC-V 64 gcc assembly language
Convert this code to RISC-V 64 gcc assembly language
#include <stdio.h>
char inputText[] = "babibabbbiiibabibiba";
char pattern[] = "bi";
const int patternSize = 2;
const int inputSize = 20;
int main()
{
int lps[patternSize];
lps[0] = 0;
int len = 0;
int i = 1, j = 0;
while (i < patternSize)
{
if (pattern[i] == pattern[len])
{
len++;
lps[i] = len;
i++;
}
else
{
if (len != 0)
{
len = lps[len - 1];
}
else
{
lps[i] = 0;
i++;
}
}
}
i = 0;
while (i < inputSize)
{
if (pattern[j] == inputText[i])
{
j++;
i++;
}
if (j == patternSize)
{
printf("Found pattern at index %d \n", i - j);
j = lps[j - 1];
}
else if (i < inputSize && pattern[j] != inputText[i])
{
if (j != 0)
j = lps[j - 1];
else
i = i + 1;
}
}
return 0;
}

Step by step
Solved in 7 steps with 6 images









