Существуют ли какие-либо интерпретаторы командной строки или любой другой набор программ для x86 linux для запуска программ сборки MIPS?
Я хотел бы иметь возможность писать простые программы сборки MIPS и запускать их с консоли на моем локальном компьютере.
Я знаю о SPIM, но это требуется X Windows, и мне любопытно, есть ли варианты получше.
Обновлено: оказывается, для этого не требуется X Windows. У меня все еще есть проблемы с SPIM. На мой скромный взгляд, не самый лучший. Скомпилированный набор инструментов Qemu / Cross - это немного больше работы, но у меня меньше причуд.
@XTL X-Windows - неофициальное название X11 или X





Может, можно взглянуть на эти эмуляторы? Я не эксперт, но список неплохой.
При этом основное внимание уделяется эмуляции системы, а не пользовательской среде. То есть, эта ссылка хороша, если вы хотите эмулировать полный блок MIPS, а не только данное приложение MIPS.
QEmu имеет хороший эмулятор MIPS. Объедините это с кросс-скомпилированным GCC / binutils (технически вам нужны только binutils для получения GAS, ассемблера GNU), и все готово.
О, и еще раз привет. Похоже, мы оба придурки-эмуляторы с одинаковым графиком сна;)
@Cody Brocious, Привет, лол. Вы написали свой собственный дизассемблер или ассемблер? Стоит ли писать как учебное упражнение? У меня так много вопросов, которые я хочу задать вам, лол.
Я делал и то, и другое в разных случаях (написал немало дизасмов во время разработки декомпилятора). Не стесняйтесь НАПРАВЛЯТЬ меня в bloomfilter, чтобы задать любые вопросы, которые у вас есть.
Кстати, Spim не требует X Windows. У него также есть консольный интерфейс. Запустите либо spim, либо xspim.
У xspim теперь есть своя изюминка: «Назвали 90-е - они хотят вернуть свой графический интерфейс».
Вам понадобится либо набор инструментов для кросс-компиляции, либо для создания собственных кросс-binutils. Для готовой цепочки инструментов вы можете посетить исходный код. Если вы просто хотите скомпилировать сборку, то все вам нужен binutils. На вики-странице Linux Mips есть несколько рекомендаций.
Что касается эмуляции, я бы выбрал QEmu.
Qemu + CodeSourcery удовлетворяет все потребности!
Вчера я был в такой же ситуации. Мне тоже не понравился СПИМ, вот что я сделал:
Настройка сети довольно проста и хорошо задокументирована. Это имеет то преимущество, что вам не нужно возиться с кросс-компиляцией.
Если вы когда-нибудь окажетесь без них, я обнаружил, что MARS намного лучше SPIM. Это файл Java .jar, поэтому он работает в Linux / Windows. Причина, по которой мне это нравится, заключается в том, что он имеет встроенный отладчик, и я могу пошагово просмотреть свой код или взлом кода и увидеть значения всех регистров. Помогает тонну в отладке.
Спасибо, на самом деле это то, что использует наш университет. Но я хотел иметь возможность вызывать c-функции из ассемблерного кода, и я не думаю, что MARS поддерживает это. ;) Также приятно иметь возможность проверить вывод "gcc -S somecprog.c".
Где ты взял ISO для FreeBSD? Я вижу, что он активно развивается, но не вижу, где взять образ компакт-диска. Я все равно пробую Debian сейчас.
Вы можете использовать gxemul, который имитирует машину MIPS (среди прочего, включая Dreamcast) и может запускать многие операционные системы (включая linux, netbsd и некоторые другие).
МАРС значительно упростил мое программирование сборки для архитектуры MIPS. Если вам нужен графический интерфейс / IDE, я бы обязательно порекомендовал MARS.
Предполагая, что вы хотите использовать GCC.
Шаги по компиляции для MIPS в системе x84-64 и последующему запуску исполняемого файла с помощью эмулятора:
Используйте набор инструментов кросс-компиляции для создания исполняемого файла.
Если вы используете Debian / Ubuntu, установите набор инструментов кросс-компиляции для MIPS. Например, любой из этих пакетов APT: gcc-mips-linux-gnu (обратный порядок байтов в MIPS) или gcc-mipsel-linux-gnu (обратный порядок байтов в MIPS).
Скомпилировать с использованием mips-linux-gnu-gcc (mipsel-linux-gnu-gcc для MIPS с прямым порядком байтов); собрать с помощью mips-linux-gnu-as; ссылка с помощью mips-linux-gnu-gcc.
Запустите исполняемый файл с помощью эмулятора.
sudo apt-get install qemu-user.qemu-mips ./a.out (или qemu-mipsel ./a.out для MIPS с прямым порядком байтов). Также работает простой запуск ./a.out; будет использоваться эмулятор.
Также не существует такой вещи, как «X windows».