Как перевести программу C на сборку MIPS для работы на Spim?

Я попробовал gcc -S Source.c, но мне нужно отредактировать созданный файл сборки Source.s. Как мне отредактировать его для работы с Spim?


person seydanurdemir    schedule 04.04.2021    source источник
comment
Я предполагаю, что вы используете кросс-компилятор gcc MIPS (поэтому вы не создаете сборку x86), верно? Тогда gcc -S определенно хорошее начало. И да, тогда вам нужно будет вручную отредактировать код для SPIM: stackoverflow.com/a/3231839/421195 . См. также: stackoverflow.com/q/4175450/421195   -  person paulsm4    schedule 04.04.2021
comment
Да, точно. Я попробовал gcc -S, но я не знаю, как мне отредактировать полученный код сборки для Spim, созданный файл сборки имеет слишком много отличий от MIPS.   -  person seydanurdemir    schedule 04.04.2021
comment
gcc может создавать ассемблерный код для многих различных архитектур. Если вы работаете на ПК, по умолчанию используется архитектура Intel x86/i386. Похоже, это то, что здесь происходит. Если это так, вы можете легко загрузить кросс-компилятор gcc для MIPS. Это создаст сборку MIPS. Это будет БЛИЗКО к тому, что вам нужно для SPIM... но даже в этом случае вам все равно придется вручную редактировать ассемблерный код GCC/MIPS. Пожалуйста, обратитесь к ссылкам, которые я привел, чтобы получить копию кросс-компилятора gcc MIPS.   -  person paulsm4    schedule 04.04.2021
comment
Да, я понял, на самом деле я надеюсь найти любое другое решение, может быть любой аргумент командной строки или любую среду для этого, но, похоже, такого решения нет, могу ли я поискать кросс-компиляторы. Спасибо за ваш ответ.   -  person seydanurdemir    schedule 05.04.2021


Ответы (1)


Официального компилятора сборки C в MIPS нет, но если вы настаиваете, дайте этот github попытка

person LazerDance    schedule 05.04.2021
comment
Спасибо за ваш ответ, я искал подобное решение, после того как не смог найти ни одного аргумента командной строки. Я думаю, это будет полезно. - person seydanurdemir; 06.04.2021
comment
@seydanurdemir Надеюсь, это поможет вам. может быть, рассмотреть вопрос о голосовании ?? ;) - person LazerDance; 07.04.2021
comment
Я проголосовал, но я здесь новенький, так что, кажется, не догадываюсь. Еще раз спасибо. - person seydanurdemir; 09.04.2021