Under construction!

URL данного справочника
emc.orgfree.com/RISC-V/hb


Навигатор

Инструкции базового набора RV32I:

handbook

арифметические

логические

сдвиги

сравнения

безусловные
переходы

системные

  • FENCE
  • ECALL
  • EBREAK

условные
переходы

загрузки

сохранения


Evgeny Eremin

См. также

  • набор RV64I
  • набор RV128I

Инструкция ORI

ORI rd, rs1, imm

Набор команд: базовый RV32I

Формат: I

Операнды: rd и rs1 – регистры, imm – 12-битная константа (со знаком!)

Действие: rd := rs1 OR imm (логическая операция ИЛИ)

Примечание

Имеется разновидность операции - OR, у которой вместо константы imm используется содержимое регистра.

Пример

Инструкция ORI x31, x7, 6 выполняет логическую операцию ИЛИ между соответствующими битами значения из x7 и константы 6, а результат помещает в x31. Для данной константы независимо от исходных значений будут установлены биты 1-й и 2-й, а все остальные сохранят прежние значения. (Биты нумеруются справа налево, начиная с 0.)
Код инструкции содержит следующие поля:

полеразрядностьсодержимоепримечание
imm12 битов0000000001106
rs15 битов00111x7
func33 бита110 всегда
rd5 битов11111x31
opcode7 битов0010011 всегда

Итоговый код

0000000 00110 00111 110 11111 00100112 = 00 63 EF 9316


Таблица истинности для логической операции OR

immrs1rd примечания
000бит сохраняется
011бит сохраняется
101бит устанавливается в 1
111бит устанавливается в 1

Константа imm здесь играет роль произвольно задаваемой маски, которая определяет, на какие биты надо воздействовать, а rs1 - это данные.


Автор справочника - Евгений Александрович Еремин (Пермский государственный гуманитарно-педагогический университет). e_eremin@yahoo.com


Free Web Hosting