Under construction!

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


Навигатор

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

handbook

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

логические

сдвиги

сравнения

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

системные

  • FENCE
  • ECALL
  • EBREAK

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

загрузки

сохранения


Evgeny Eremin

См. также

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

Инструкция SRA (32 бита)

SRA rd, rs1, rs2

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

Формат: R

Операнды: все три операнда – содержимое регистров

Действие: арифметический сдвиг вправо значения rs1 на число разрядов из rs2; результат помещается в rd

Примечания

  1. Выходящие вправо младшие биты теряются, а старшие слева заполняются значением знакового бита (расширение знака).
  2. Т.к. для 32-разрядного операнда число сдвигов не должно превышать 25, все биты в rs2 кроме младших 5 игнорируются. Для 64-разрядной инструкции SRA используется 6 битов, для 128-разрядной – 7.
  3. Имеется разновидность операции - SRAI, у которой вместо rs2 используется константа.
  4. Операцией SRA можно заменить деление со знаком на 2N.

Пример

Инструкция SRA x31, x7, x6 арифметически (сохраняя знак числа) сдвигает содержимое регистра x7 вправо на число разрядов из x6, а результат помещает в x31.
Код инструкции содержит следующие поля:

полеразрядностьсодержимоепримечание
func77 битов0100000 всегда
rs25 битов00110x6
rs15 битов00111x7
func33 бита101 всегда
rd5 битов11111x31
opcode7 битов0110011 всегда

Итоговый код

0100000 00110 00111 101 11111 01100112 = 40 63 DF B316


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


Free Web Hosting