RISC-V Ассемблер
Пишите и запускайте ассемблер RISC-V прямо в браузере. Начните с одной инструкции и постепенно переходите к функциям и памяти. И ассемблер, и симулятор работают в браузере.
Уроки
Страны
Страна
Бразилия
Производит ли Бразилия чипы? Бразилия разрабатывает чипы — от микроконтроллера RISC-V BlueMacaw до исследовательских ядер, таких как NoX, — тогда как внутреннее производство зависит от зарубежных фабрик. Государственная фабрика CEITEC была упразднена указом в 2020 году.
Прочитать записьСтранаУкраина
Производит ли Украина чипы? У Украины нет завода по производству чипов. Страна строит fabless-индустрию, которая разрабатывает чипы дома, а изготавливает их за рубежом, опираясь на крупнейшие в Европе запасы титана.
Прочитать записьСсылка
Арифметика
add
Сложить два регистра вместе.sub
Вычесть один регистр из другого.addi
Добавить небольшую константу в регистр.mul
Умножение с сохранением младших 32 бит.mulh
Старшие 32 бита знакового произведения.div
Целочисленное деление со знаком.divu
Деление беззнаковых целых чисел.rem
Остаток от деления с учетом знака (модуль).remu
Беззнаковый остаток.neg
Изменить знак числа.Побитовая логика
Смены
Сравнить и установить
Память
lw
Загрузить 32-битное слово из памяти.lh
Загрузить 16-битное полуслово (знаковое).lb
Загрузить один байт (со знаком).lhu
Загрузить 16-битное полуслово (беззнаковое).lbu
Загрузить один байт (беззнаковый).sw
Сохранить 32-битное слово в память.sh
Сохранить младшие 16 бит.sb
Сохранить младшие 8 бит.la
Загрузить адрес метки.li
Загрузить любую константу в регистр.mv
Скопировать один регистр в другой.Ветки
beq
Перейти, если два регистра равны.bne
Перейти, если два регистра различаются.blt
Переход, если меньше (со знаком).bge
Переход, если больше или равно (со знаком).bltu
Переход, если меньше (беззнаковое).bgeu
Переход, если больше или равно (беззнаковое).beqz
Перейти, если регистр равен нулю.bnez
Перейти, если регистр не равен нулю.bltz
Прыгайте, если регистр отрицательный.bgez
Перейти, когда регистр содержит ноль или положительное значение.bgtz
Перейти, если регистр положительный.blez
Перейти, когда регистр содержит ноль или отрицательное значение.bgt
Переход, если больше (со знаком).ble
Переход, если меньше или равно (со знаком).Прыжки и функции
Система
ecall
Попросить систему сделать что-то.nop
Ничего не делать для одной инструкции.ebreak
Остановите программу в точке останова.mret
Возврат из обработчика ловушки.wfi
Подождите, пока не поступит прерывание.csrrw
Обменять содержимое регистра с управляющим регистром.csrrs
Прочитать регистр управления и установить в нём выбранные биты.csrrc
Прочитать регистр управления и очистить в нём биты.csrrwi
Запишите константу в управляющий регистр и прочитайте предыдущее значение.csrrsi
Прочитать регистр управления и установить биты из константы.csrrci
Прочитать регистр управления и сбросить биты из константы.csrr
Прочитать регистр управления.csrw
Записать регистр в управляющий регистр.csrs
Устанавливает биты в регистре управления.csrc
Очистить биты в регистре управления.csrwi
Записать константу в управляющий регистр.csrsi
Устанавливает биты в регистре управления из константы.csrci
Очистить биты в регистре управления из константы.