Nano Banana 2.1 ДОСТУПНА — Новинка от Google | Попробовать →
Войти
WAVESPEED AI СИМУЛЯТОР RISC-V Ваш код остаётся на устройстве
100% БЕСПЛАТНО

Бесплатный симулятор RISC-VПишите на ассемблере, запускайте, следите за каждым регистром.

Пишите на ассемблере RV32IM с метками и псевдоинструкциями, затем запускайте на полной скорости или по одной инструкции.
Ставьте точки останова, делайте шаг назад и следите за регистрами, памятью, машинным кодом и консолью во время работы программы.

RV32I + MШаг назад и точки остановаМашинный код в hex
Без регистрации Работает в браузере Без установки

Загрузка симулятора RISC-V…

Программа сохраняется в этом браузере. Скачайте её, чтобы оставить копию.
ТРИ ПРОСТЫХ ШАГА

Как запустить код на ассемблере RISC-V онлайн

01

Напишите или откройте программу

Начните с примера, напишите свой код или откройте файл .s. Данные размещайте под .data, а код — под .text.

02

Запустите или идите по шагам

Нажмите «Запуск» для полной скорости или «Шаг», чтобы выполнить одну инструкцию и увидеть, какие регистры и память изменились. Щёлкните рядом с номером строки, чтобы поставить точку останова.

03

Изучите результат

Ввод и вывод происходят в консоли. Проверяйте регистры и память, делайте шаг назад, чтобы найти, где всё пошло не так, и копируйте машинный код в hex.

Советы по отладке ассемблера

Шаг назад вместо перезапуска

Ушли на шаг дальше? «Шаг назад» отменяет последние инструкции вместе с регистрами, памятью и выводом, так что можно посмотреть снова, не запуская с начала.

Сохраняйте ra перед вызовом

call перезаписывает ra. Функция, вызывающая другую, должна сначала сохранить ra в стеке и восстановить его перед ret, как в примере с факториалом.

Следите за столбцом «Запуски»

Вкладка машинного кода считает, сколько раз выполнялась каждая инструкция. Тело цикла, выполненное на раз больше или ни разу, прямо указывает на неверное ветвление.

WaveSpeed AI

От кода к визуалу

Нужна иллюстрация архитектуры процессора или ролик для курса? Создайте их с WaveSpeed AI.

  • Более 1000 ИИ-моделей
  • Изображения, видео и 3D
  • Оплата по факту

$1 бесплатных кредитов для подходящих новых аккаунтов. Карта не нужна. Для генераторов нужны отдельный аккаунт и кредиты. Инструмент «симулятор RISC-V» бесплатный.

Вопросы о симуляторе RISC-V

Этот симулятор RISC-V бесплатный?

Да. Этот онлайн-симулятор RISC-V бесплатен: без аккаунта, без ограничений на запуски, ничего не нужно устанавливать.

Какие инструкции поддерживаются?

Базовый 32-битный целочисленный набор (RV32I), расширение M для умножения, деления и остатка, а также чтение счётчиков cycle, time и instret — основной набор инструкций, который изучают на курсах по архитектуре ЭВМ и ассемблеру.

Будут ли здесь работать программы с моего курса?

Большинство — да. Код начинается с 0x00400000, данные — с 0x10010000, а системные вызовы используют те же номера (a7 = 1 печать целого, 4 печать строки, 5 чтение целого, 10 выход и так далее), что и распространённые учебные симуляторы. Все они перечислены на вкладке «Справка».

Как печатать и читать ввод?

Поместите номер вызова в a7, а аргумент — в a0, затем выполните ecall. Когда программа читает, консоль запрашивает ввод: введите его и нажмите Enter. Можно вводить и заранее, до запроса программы.

Как считаются такты?

Число инструкций точное. Число тактов — оценка для простого ядра с последовательным исполнением: 1 такт на инструкцию, 2 на загрузку, 3 на переход или выполненное ветвление, 3 на умножение и 33 на деление.

Можно ли получить машинный код?

Да. Вкладка «Машинный код» показывает адрес, hex-слово и декодированную форму каждой инструкции. Скопируйте его в hex, по одному слову на строку, или скачайте .hex либо «сырой» файл .bin.

Почему программа останавливается из-за невыровненного доступа?

Слова нужно читать и записывать по адресам, кратным 4, а полуслова — кратным 2. Поставьте .align 2 перед данными из слов или проверьте вычисленный адрес. В ошибке указаны адрес и строка.

Можно ли идти назад?

Да. «Шаг назад» отменяет до 4 096 последних инструкций вместе с регистрами, памятью и выводом, так что ошибку можно найти, не запуская с начала.

Мой код загружается на сервер?

Нет. Сборка и выполнение происходят в браузере, а программа сохраняется в хранилище этого браузера, так что в следующий раз она будет на месте.

Все бесплатные инструменты

Запустите свою следующую программу на RISC-V.

Бесплатно, конфиденциально и всегда под рукой.

Открыть симулятор