diff --git a/print.c b/print.c index 4f4736a..ddcafa1 100644 --- a/print.c +++ b/print.c @@ -83,6 +83,19 @@ long int fork() { ); return rtn; } +#elif defined(__mips__) +long int fork() { + int rtn; + asm ( + "li $v0, 4002\n" + "syscall\n" + "move %0, $v0" + :"=r" (rtn) + : + : "a0", "v0" + ); + return (long int)rtn; +} #endif void exit(int status) { @@ -115,7 +128,7 @@ void exit(int status) { int main() { -#if defined(__x86_64__) || defined(__aarch64__) +#if defined(__x86_64__) || defined(__aarch64__) || defined(__mips__) long int pid = fork(); char msg[17] = {' '}; msg[16] = '\n';